How Oracle called the hidden for the function-based index columns?


I came across an interesting problem today.  Statistics object for a schema that have been created on the basis of data X have been imported into a 'identical' to the database schema Y.

The problem is that, on the basis of data X a group of hidden columns associated with index based service (FBIs) were named SYS_NC00182$ to SYS_NC00191$ and on the basis of data Y the same hidden columns were named SYS_NC00183$ to SYS_NC00192$!  The consequence was that statistical column for an FBI data base X have been used for a totally different FBI on the database Y.

Now, of course, if this was g 11 or 12 c I could just create virtual columns and those of the index.  In this way the names of the columns would be compatible on databases.  However, it is a 10g database, and I do not have this option.

I am curious to understand how Oracle generates these hidden column names.  I'm also curious if, in 10g, there is a way to identify the name of a column hidden for an FBI that doesn't involve a statement explain plan running on a query that uses all the expressions of the FBI for the table.

The names of $ SYS_NCnnnnn are based on the internal column id - what is loosely based on the order of creation of the FBI. If you delete a column the column internal ids (after this column), which means the names for the SYS_NCnnnnn$ the change.  An opportunity to explain your results is that a (real) column on the X data table fell, but the column still exists on the database Y.

If you want to get the link between the current internal name and expression, then you can start with dba_ind_expressions - and create a customized version of the view - e.g @.

Select c.intcol #, c.name, io.name, idx.name, bo.name, base.name, c.default$, ic.pos #.

of sys.col$ c, sys.obj$ idx, basis of sys.obj$, sys.icol$ ic.

sys. User$ io, sys.user$ bo, sys.ind$ I

where bitand(ic.spare1,1) = 1 / * expression * /.

and (bitand (students, 1024) = 0) / * not bmji * /.

and ic.bo # c.obj = #.

and ic.intcol # c.intcol = #.

and ic.bo # base.obj = #.

and io.user # idx.owner = #.

and bo.user # base.owner = #.

and ic.obj # idx.obj = #.

and idx.obj # i.obj = #.

and however # (1, 2, 3, 4, 6, 7, 9)

/

The first two columns in the select ones that I added to the initial view definition.

Concerning

Jonathan Lewis

Tags: Database

Similar Questions

  • How to call the function (function Build-in user) in Pro * C program

    We have developed the application Pro * C program.
    TimesTen version is "TimesTen release 11.2.1.5.0 (64-bit, Linux/x86_64) (tt112150:53308) 2010-03 - 04 T 20: 39:30Z.

    We would like to develop Pro * C program you are using PL/SQL.

    We have a few questions.
    How to call the function (function Build-in user) in Pro * C program?

    #########
    TEST
    #########

    ttisql:
    Command > create or replace FUNCTION F_SAMPLE (i_str IN VARCHAR2)
    > BACK NUMBER
    > o_number NUMBER;
    > START
    > select i_str
    > in o_number
    > double;
    >
    > O_number RETURN;
    >
    > EXCEPTION
    > Others THEN
    > RETURN 0;
    > END;
    > /.
    display errors
    The function is created.
    Order > show errors
    No errors.
    Command >
    Command > set serveroutput on;
    Command > declare
    > number of num1;
    > start
    > num1: = F_SAMPLE ('A');
    > DBMS_OUTPUT. PUT_LINE ("F_SAMPLE" |) ' ' || NUM1);
    > end;
    > /.
    F_SAMPLE 0

    PL/SQL procedure successfully completed.

    Command >


    Pro * C case:

    EXEC SQL BEGIN DECLARE SECTION;
    number of num1;
    EXEC SQL END DECLARE SECTION;

    EXEC SQL EXECUTE
    Start
    : num1: = F_SAMPLE ('A');
    end;
    END-EXEC;

    Make sure to install:
    Error on line 146, column 3, file plsqlPROC.pc:
    Error on line 146, column 3 in file plsqlPROC.pc
    number of num1;
    .. 1
    PCC-S-02201, encountered the symbol "num1" when expecting one of the following conditions:


    Thank you.

    GooGyum

    There are two problems with your variable declaration:

    1. the name of the variable and type are thew misplacement autour.

    2. you may not use a host variable type.

    If you change this to:

    EXEC SQL BEGIN DECLARE SECTION;
    int num1;
    EXEC SQL END DECLARE SECTION;

    Then it will work very well.

    Chris

  • How to call the function lavel root & variable external loaded swf file

    I have little problem in as3.  I load 'mainmenu.swf' file "main.swf". through class loader. so now "main.swf" is children of parents 'mainmenu.swf' file how can call "main.swf" variable and function of "mainmenu.swf".

    The parent of the loaded swf file is the charger.  The main SWF is the parent of the charger.  Then to communicate with the main storyline of the loaded file can use:

    MovieClip (parent.parent) .someFunction ();

  • How to call the function "remote address book look up" J2ME app?

    We develop J2ME on BB and call the function "search of remote address book." any API we can use? Thank you very much!

    You can use BlackBerryContactList J2ME

  • How to call the function cascade BlackBerry

    I begineer in blackberry c ++.

    I do two class is testobject and second in test .i call the onther text function average () and nexttext();

    so please how to call this function.

    // Default empty project template
    #include "TestObect.hpp"
    
    #include 
    #include 
    #include 
    
    using namespace bb::cascades;
    
    TestObect::TestObect(bb::cascades::Application *app)
    : QObject(app)
    {
        // create scene document from main.qml asset
        // set parent to created document to ensure it exists for the whole application lifetime
        QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
    
        // create root object for the UI
        AbstractPane *root = qml->createRootObject();
    
        // set created root object as a scene
        app->setScene(root);
    }
    
    void TestObect::test(){
    
        qDebug()<< "****************Naveen";
    }
    

    I insert also declared in the header file.

    Q_INVOKABLE Sub test();

    then I create another test class.

    /*
     * test.cpp
     *
     *  Created on: Apr 2, 2013
     *      Author: nksharma
     */
    
    #include "test.h"
    
    test::test() {
        // TODO Auto-generated constructor stub
    
    }
    
    void test:: nexttest(){
        qDebug()<<"***********Next test*********"
    
    }
    test::~test() {
        // TODO Auto-generated destructor stub
    }
    

    error in the file namespace,

    here in file herder

    the namespace error

    /*
     * test.h
     *
     *  Created on: Apr 2, 2013
     *      Author: nksharma
     */
    
    #ifndef TEST_H_
    #define TEST_H_
    
    class test {
    public:
        test();
        virtual ~test();
         Q_INVOKABLE void nexttest();
    };
    
    #endif /* TEST_H_ */
    

    You have a space between the colon and the n in:

    void test:: nexttest()
    

    Another thiing, if you are using Q_INVOKABLE, you must declare Q_OBJECT in your front header file public:

     


    If you're still having problems, try to clean up the project with Project > clean...

  • How to call the function of reading edge animate external JavaScript


    I have a symbol on the stage called "basket"... on the inside of the symbol is my graph that has a trajectory put on to the timeline (it's called "car_v1").

    On my stage, I have a code to hide the cart symbol with a class of external style sheet:

    SYM. $("panier") .addClass ("hidden");  (it's the css - .hidden {display: none ;})})

    I have a function that calls a file external javascript... Since this external file, I want to get the animation of scenario to work:

    This is the function call:

    checkCar();

    and here's the function:

    function checkCar() {}
    If (AdobeEdge.countCar == 5) {}
    AdobeEdge.getComposition("EDGE-172492634").getStage ().$("cart").removeClass ("hidden"); This works!
    AdobeEdge.getComposition("EDGE-172492634").getStage ().$("cart").play (); does not work!        <-this is the line I need help!

    sym.getSymbol("cart").play (); It works inside the border and the scenario animation works!

    }
    }

    Can someone help me get the playback feature to work my external javascript file? Thank you!

    Kristen

    Hello

    You can try:

    function checkCar() {}

    If (AdobeEdge.countCar == 5) {}

    iCall var = AdobeEdge.getComposition("EDGE-172492634").getStage ();

    iCall.$("cart").removeClass ("hidden");

    iCall.getSymbol("cart").play ();

    }

    }

  • How to call the function

    Hello

    How to call functions defined by the user in the select statement.
    I have to concat all the result of columns, though kindly help me.

    When I run after sql statement


    SELECT orgin_pos. «, » || the sender | «, » || consigneename | «, » || vesselname | «, » || travelno | «, » || POS | «, » || ETD | «, » ||
    ETA | «, » || NOP | «, » || grossweight | «, » || CCube | «, » || ccontainer | «, » || CSize. «, » || CType | «, » || Goh | «, » || HBL | «, » ||
    get_sea_report (hbl) linername | «, » || CompanyName AS overseasagent
    OF vietanam_report_view_bd



    -of cluase not found where expected error is coming.
    Kindly help me.

    concerning
    Prakash P
    Handle:  808542
    Status Level:  Newbie
    Registered:  Nov 8, 2010
    Total Posts:  69
    Total Questions:  48 (45 unresolved)  
    
  • How to call the function of backbean with javascript

    Good afternoon

    I have three in three minutes update my table of notifications.

    What I have so far is my refreshNotifications to the backingbean function and wanted to call a the same javascript function.

    know - tell me how?

    You use an af:serverListener as described here https://blogs.oracle.com/jdevotnharvest/entry/how-to_call_server_side_java_from_javascript

    Or you use an af:poll and that calls a method of the bean.

    Timo

  • How to call the function in the javascript plugin?

    Hello

    I have a function inside my plugin that I want to call from javascript. Is this possible? Sorry, im new plugin programming.

    For example, I have the plugin with function func() that I want to call some external javascript. How I'll be able to do this?

    Thank you.

    Yes, most of the SDK examples meet the script parameters passed, I would look at the example of filter to dissolve. You can run your function and return the return parameters to the script via the measuring system if you wanted to. You will get a historical State, do it this way.

  • How to call the function with arguments varray.

    Hello
    I've got function like this:
    CREATE OR REPLACE
    TYPE VARR_VARCHAR AS VARRAY(256) OF NVARCHAR2(500)
    /
    
    CREATE OR REPLACE
    TYPE E_VARR_VARCHAR AS VARRAY(256) OF nVARCHAR2(4096)
    /
    
    FUNCTION find_id(
          p_id            IN   VARCHAR2,
          p_special_columns     IN   varr_varchar,
          p_special_values      IN   e_varr_varchar,
         )
          RETURN VARCHAR2;
    How can I build this function call (nvarchar data type is necessary) using the only pl/sql and can do with pure as sql select double f();?
    I'm on 9.2.0.8.
    Concerning
    GregG

    Select find_id (p_id, VARR_VARCHAR('1','2','3'), e_varr_varchar('1','2','3')) of double;

    -sty.

  • How to call the functionality of the Pause button to pause the media play a WebView

    Hello

    If I have media that is playing in a WebView and I then manually press the middle button (located between the top and to the bottom of the volume controls) on my phone while the media play breaks, it is great, but how can I take a break and resume a running code... is it possible that I can emit a signal system wide or something to emulate hand pressure on the key break.

    Thank you..

    Media buttons work this way because behind the scenes, the webview has implemented a connection now play for you (https://developer.blackberry.com/native/reference/cascades/bb__multimedia__nowplayingconnection.html)

    You should be able to interact with the native portion of your application using the NowPlayingController (https://developer.blackberry.com/native/reference/cascades/bb__multimedia__nowplayingcontroller.html) which has been added to the point 10.2. Note that you must import - lbbmultimedia and non - lbbpim. Should be fixed the docs in the next version.

  • How to call the function procedure

    Hello

    I don't have any idea how can I call a function procedure?

    Your answer is apprecited.


    Thanks in advance
    create or replace fn
    return varchar2
    is
    begin
    
    --pass your procedure here
    
    proc1(20);
    
    end;
    
  • How to call the function defined by the user

    Hello

    I need help...
    In my project, I have page Login.jspx where there is a user name text box.
    I second success.jspx page that has its bean class of success.java I define a method "display(). Now, I want to display() cal on my success.jspx page.

    can anyone help me what is the way to do it.

    Thanks in advance...

    Thank you
    Nehal

    Hello

    I think we can declare the variable txtVal of chain in the world or outside of the method and create the Set accessor method and the Get accessor.
    Then, we could try to access the value like this...

    value = "#{backingBeanScope.backing_FrgtPwd.txtVal} '"

    ~ Abhijit

  • How to select the condition based on column A, but instead Act state based on column B

    Sorry if the title of the discussion is not clear. I had some difficulty with a brief explanation/question.

    I have a table as follows:

    col1col2 . COL3

    "sfg" | "hfd" | 5

    "XXX" | "jhg | 3

    "dfg" | "tyr" | 9

    "XXX" | "lkh | null

    I'm trying to

    If col3 = null look col1 and select all items except where col1 = 'xxx '.

    The result of select should look as follows:

    col1col2 . COL3

    "sfg" | "hfd" | 5

    "dfg" | "tyr" | 9

    How to do this? I tried with a grouping, group, on (partition by xxx)... It feels like I'm close, but I still do not find this one. You please give me a hint.

    Just the way you are trying

    [code]

    SELECT col1, col2, col3

    FROM (SELECT A.*, SUM (NVL2 (col3, 0, 1)) OVER (PARTITION BY col1) sm

    FROM table_name A)

    WHERE DMS = 0;

    [/ code]

    PS: The new layout of the oracle forums of hatred.

  • How to access the functions

    Hey,.

    thing_btn.addEventListener (MouseEvent.CLICK, clicked);

    thing2_btn.addEventListener (MouseEvent.CLICK, clicked2)

    function clicker(event:MouseEvent) {}

    trace ("hey");

    }

    function clicker2(event:MouseEvent) {}

    clicker(event:MouseEvent);

    }

    with the above code how you call the function clicker2 clicker?
    as with the code I comes up with the error "1084: syntax error: expected rightparen befor colon.
    Thanks :)

    The only place where it will work for you, is if you put somewhere where the event is defined, which is so far only inside your functions.  If you want to call the spaceDown function without actually using the keyboard, you can modify the code to be...

    function spaceDown (event: KeyboardEvent= null) {}

    Press ++;

    if(Event.keycode == 32) {}

    moverTimer.stop ();

    }

    whichLine = "Line" + String (pressed)

    trace (whichLine)

    moverTimer.start ();

    }

    spaceDown();

    but then your code inside the function wil has another error as he tries to use the object of the event, which will be null.

    Your first assignment had a some sense based on what you ask, but you seem to have twisted what you asked for and applied to the implementation of something totally different.  I can't say I know what you're up to at this point.  You should probably take a step back and try things right.

Maybe you are looking for

  • Firefox instantly hangs at startup

    When I try to open Firefox it flashes an error instantly "Screenshot attached (Error)" and the past in the background report. Pop lasts for 1 or 2 frames so its went very quickly, try to click on safe mode or refresh does nothing. I tried to uninstal

  • If I send telemetry information, is there a threat to my computer and personal security opportunities?

    I read the info provided and understand the details of my use of the computer and the I.P. address are collected for experimental and statistical data. Are there chances of my data compromised as it is sent, or after it is received? I'm sure most peo

  • How to find on how firefox accesses the Internet?

    I use firefox on a mac desktop computer. Activity monitor says it has access to the internet. All open tabs were loaded and are just sitting there. How will I know what he does with the internet?

  • Reading text file takes a long time after the first time

    Dear experts LabVIEW, I'm having a problem with playback of text file. I'm reading only each Nth line from a file to preview with this sub vi: I seems to work the first time I do it well. The loop takes almost no time to perform an iteration. Then wh

  • Downgrade from Windows 7 to vista?

    I've heard say that if you buy Windows 7 Ultimate 64 bit you can it downgrade to Windows Vista Ultimate 64-bit, up to what you want to switch back and use Windows 7 Ultimate 64 bit. It would be useful for me because I run Avid Media Composer, and it