System generated column names

Version - Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
I see some system generated column names(like SYS_C00009_13061211:44:57$,SYS_C00033_13061211:44:57$) in ALL_TAB_COLS view for a partitioned table, not sure how they got created in the first place and tabledoesn't have any virtual columns. Is it something if we drop a column from table and oracle trying to keep them in the dictionary? when i describe the table these "SYS_C00" columns are not showing.
I am trying to exchange the partition with staging (similar structure) table, but i end up with this error "
14097. 00000 -  "column type or size mismatch in ALTER TABLE EXCHANGE PARTITION"
*Cause:    The corresponding columns in the tables specified in the
           ALTER TABLE EXCHANGE PARTITION are of different type or size
*Action:   Ensure that the two tables have the same number of columns
           with the same type and size."
Any suggestions would be appreciated.
Thanks,
sg

I have found my solution to this problem.
My table is compressed table and when i try to drop some of the columns oracle marking them as unused(SYS_CO with timestamp) instead of dropping them. For partition exchange i have created same number of columns as original table in the same order and marked the "dropped" columns as unused on a temporary table. Now i can able to exchange the partition with out any issues
Thanks to Jonathan and Connor.
EXCHANGE PARTITION those pesky columns | Learning is not a spectator sport

Similar Messages

  • Getting the system generated column name for xmltype column

    Hello,
    how i can get the internal column name (p.a. SYS_NC00001$) for a xmltype column? I cannot find a correct dictionary view .
    I need that for moving a xmltype lob partition to another tablespace.
    Thanks,
    MaikR

    Does the following help:
    http://www.idevelopment.info/data/Oracle/DBA_tips/LOBs/LOBS_2.shtml
    http://www.liberidu.com/blog/?p=264

  • System generated Index names different on target database after expdp/impdp

    After performing expdp/impdp to move data from one database (A) to another (B), the system name generated indexes has different names on the target database, which caused a major issue with GoldenGate. Could anyone provide any tricks on how to perform the expdp/impdp and have the same system index name generated to be the same on both source and target?
    Thanks in advance.
    JL

    While I do not agree with Sb choice of wording his solution is correct. I suggest you drop and recreate the objects using explicit naming then you will get the same names on the target database after import for constraints, indexes, and FK's.
    A detailed description of the problem this caused with Golden Gate would be interesting. The full Oracle and Golden Gate versions is use might also be important to the solution, if one exists other than explicitl naming.
    HTH -- Mark D Powell --
    Edited by: Mark D Powell on May 30, 2012 12:26 PM

  • How to know column name (not an expression) used by function-based index?

    Hi guys,
    Is there any way to know exact column name used by FBI? If I correct, there is SYS.ICOLDEP$ table that has mapping between index/table columns, but I don't see how it could be uniquely joined with the rest. I know about USER_IND_EXPRESSIONS, but the task is to know exact column name, not it's expression.
    This required by our so-called SQL preprocessing of DB schema update utility, which parses stmt (INSERT in our case) and should check against PK/UNIQUE key values.
    Thanks!

    I don't think this is possible in 10g or 11g because :
    1. dictionary keeps track of column number in index and not in table
    2. the expression used in CREATE INDEX is a system generated column
    You would have to parse the expression from USER_IND_EXPRESSIONS:
    SQL> create table t(x int, y int);
    Table created.
    SQL> create index fbi on t(y+1);
    Index created.
    SQL> column index_name format a10
    SQL> column column_name format a20
    SQL> column column_expression format a10
    SQL> select i.index_name, ic.column_name, ic.column_position as iccn, ie.column_position as iecn, ie.column_expression
      2  from user_indexes i , user_ind_columns ic, user_ind_expressions ie
      3  where i.index_name = ic.index_name
      4  and i.index_name = ie.index_name
      5  and i.index_name =  'FBI';
    INDEX_NAME COLUMN_NAME                ICCN       IECN COLUMN_EXP
    FBI        SYS_NC00003$                  1          1 "Y"+1

  • How to get table and column names thats being used in SQL , that's generating all my reports on SSRS.

    Good day,
    I searched through the forum and cant find anything.
    I have around 300 published reports on SSRS and we are busy migrating to a new system.
    They have already setup their tables on the new system and I need to provide them with a list of table names and column names that are being used currently to generate the 300 reports on SSRS.
    We use various tables and databases to generate these reports, and will take me forever to go through each query to get this info.
    Is it at all possible to write a query in SQL 2008 that will give me all the table names and columns being used?
    Your assistance is greatly appreciated.
    I thank you.
    Andre.

    There's no straightforward method for that I guess. There are couple of things you can use to get these details
    1. query the ReportServer.dbo.Catalog table
    for getting details
    you may use script below for that
    http://gallery.technet.microsoft.com/scriptcenter/42440a6b-c5b1-4acc-9632-d608d1c40a5c
    2. Another method is to run the reports and run sql profiler trace on background to retrieve queries used.
    But in some of these cases the report might be using a procedure and you will get only procedure. Then its upto you to get the other details from procedure like tables used, columns etc
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • The table name for the system generated transactions (Retained Earnings).

    Hi Gurus,
    I have a doubt and want to know from U experts there. Hope you won't let me down. The situation is
    I have created a new chart of account in our Oracle Financial. Uploaded 2007 transactions and opened year 2008 and closed all the periods of year 2007.
    When I open a new year Oracle will do internal process transfer R&L balance to Retained Earnings account and make income & expenses accounts to Zero.
    I want to know the system generated entries which table they are stored, this transaction is not in Gl_Balances table.
    Its an urgent plz reply back soon.
    Thanks in advance
    Barkat

    Hello.
    For EBS 11.5.10.2
    Let’s suppose that the last period of you fiscal year is called ‘LAST-2008’ (not adjusting period). If you have an account with a debtor balance of 100 in this period, when you open the following fiscal year you will find an entry of 100 in the first adjustment period of the fiscal year that the ‘LAST-2008’ period belongs to, in the column BEGIN_BALANCE_DR.
    It is clear that if the balance is creditor you will find it in the BEGIN_BALANCE_CR column.
    Hope this helps.
    Octavio

  • How to use the column names generated from Dynamic SQL

    Hi,
    I have a problem with Dynamic SQL.
    I have written an SQL which will dynamically generate the Select statement with from and where clause in it.
    But that select statement when executed will get me hundreds of rows and i want to insert each row separately into one more table.
    For that i have used a ref cursor to open and insert the table.
    In the select list the column names will also be as follows: COLUMN1, COLUMN2, COLUMN3,....COLUMNn
    Please find below the sample code:
    TYPE ref_csr IS REF CURSOR;
    insert_csr ref_csr;
    v_select VARCHAR2 (4000) := NULL;
    v_table VARCHAR2 (4000) := NULL;
    v_where VARCHAR2 (4000) := NULL;
    v_ins_tab VARCHAR2 (4000) := NULL;
    v_insert VARCHAR2 (4000) := NULL;
    v_ins_query VARCHAR2 (4000) := NULL;
    OPEN insert_csr FOR CASE
    WHEN v_where IS NOT NULL
    THEN 'SELECT '
    || v_select
    || ' FROM '
    || v_table
    || v_where
    || ';'
    ELSE 'SELECT ' || v_select || ' FROM ' || v_table || ';'
    END;
    LOOP
    v_ins_query :=
    'INSERT INTO '
    || v_ins_tab
    || '('
    || v_insert
    || ') VALUES ('
    || How to fetch the column names here
    || ');';
    EXECUTE IMMEDIATE v_ins_query;
    END LOOP;
    Please help me out with the above problem.
    Edited by: kumar0828 on Feb 7, 2013 10:40 PM
    Edited by: kumar0828 on Feb 7, 2013 10:42 PM

    >
    I Built the statement as required but i need the column list because the first column value of each row should be inserted into one more table.
    So i was asking how to fetch the column list in a ref cursor so that value can be inserted in one more table.
    >
    Then add a RETURNING INTO clause to the query to have Oracle return the first column values into a collection.
    See the PL/SQL Language doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/returninginto_clause.htm#sthref2307

  • Smartforms - difference in auto-generated FM name in different systems

    Hi,
    The situation is:
    I have created a smartform in our Dev application server and tested it to achieve the view I needed. The Dev system generates FM with automatic name /1BCDWB/SF00000005. I have successfuly transported it to our test system and checked with data. After some short time I found an error in smartform and made a fix in a Dev. system. When trying to test it I found that the system modifies the FM name to /1BCDWB/SF00000006. This leads to modification in my source code, from where I call this FM with actual parameters (not test).
    The problem occures when I transported both the smartform and report from where I call it to the test system again. I obtained a shortdump with message like:
    '...FM /1BCDWB/SF00000006 does not exist...'
    After short investigation I have found, that in our Test system this smartform still generates *** and corresponds to *** the FM with name /1BCDWB/SF00000005.
    Next, I'm unable to transport FuGr /1BCDWB/SF00000006 from Dev. to Test because it does not have Dev.Class assosiated and asks for Licence Key (furthermore, I'm not sure this should be done in this way).
    Now in our Dev system FM named /1BCDWB/SF00000005 corresponds to another smartform (made by me more than year ago).
    And, what is pitty, If I try to release a transport with report which calls FM named /1BCDWB/SF00000005 from Dev, I have about 17 extended program errors (during extended program check) saying that 'there is no such FM'...
    For me this is missing of some consistency. What should I do to get consistency between our systems back? (means to have corresponding smartform relation to the same FM name in all the systems)
    Any help whould be highly appreciated.
    Many thanks in advance.
    Regards,
    Ivaylo Mutafchiev
    SAP BC Consumtant

    Hi Ivaylo
    Smartforms Name are system dependant !
    They are dynamically generated.
    You have to use :
    data : function_name type rs38l_fnam.
      call function 'SSF_FUNCTION_MODULE_NAME'
        exporting
          formname           = 'ZFORM_NAME' "Smartform name
          direct_call        = 'X'
        importing
          fm_name            = function_name
        exceptions
          no_form            = 1
          no_function_module = 2
          others             = 3.
      if sy-subrc <> 0.
      erreur.
      endif.
    and then, you call your smartform with :
    call function function_name
          exporting
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
          control_parameters         = st_ssfctrlop
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
          output_options             = st_ssfcompop
          user_settings              = ' '
    Good luck,
    Regards,
    Erwan.
    Message was edited by: Erwan LE BRUN

  • Generating CSV file with column names and data from the MySQL with JAVA

    Hi all,
    Give small example on ...
    How can I add column names and data to a CSV from from MySQL.
    like
    example
    sequence_no, time_date, col_name, col_name
    123, 27-apr-2004, data, data
    234, 27-apr-2004, data, data
    Pls give small exeample on this.
    Thanks & Regards
    Rama Krishna

    Hello Rama Krishna,
    Check this code:
    Example below exports data from MySQL Select query to CSV file.
    testtable structure
    CREATE TABLE testtable
    (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    text varchar(45) NOT NULL,
    price integer not null);
    Application takes path of output file as an argument.
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    public class automateExport {
        public static void main(String[] args) {
            DBase db = new DBase();
            Connection conn = db.connect(
                    "jdbc:mysql://localhost:3306/test","root","caspian");
            if (args.length != 1) {
                System.out.println(
                        "Usage: java automateExport [outputfile path] ");
                return;
            db.exportData(conn,args[0]);
    class DBase {
        public DBase() {
        public Connection connect(String db_connect_str,
                String db_userid, String db_password) {
            Connection conn;
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                conn = DriverManager.getConnection(db_connect_str,
                        db_userid, db_password);
            } catch(Exception e) {
                e.printStackTrace();
                conn = null;
            return conn;
        public void exportData(Connection conn,String filename) {
            Statement stmt;
            String query;
            try {
                stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                        ResultSet.CONCUR_UPDATABLE);
                //For comma separated file
                query = "SELECT id,text,price into OUTFILE  '"+filename+
                        "' FIELDS TERMINATED BY ',' FROM testtable t";
                stmt.executeQuery(query);
            } catch(Exception e) {
                e.printStackTrace();
                stmt = null;
    Greetings,
    Praveen Gudapati

  • Generating Duplicate Columns Names in CMP's

    Hi,
    We are having trouble with the automatic key generation of the CMP beans. We are using java.lang.Object as primary key class and the autogenerated col is ejb_pk but still it doesnt work.
    The Generated Class files show the insert and update statements with duplicate column names.
    The exception trace is
    <i>
    Caused by: com.sap.engine.services.ejb.exceptions.BaseEJBException: SQLException while the data is being flushed.
    The persistent object is com.ejb.PriorityCMP220Persistent.
    at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:106)
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:380)
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:343)
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletionTransactionContext.java:446)
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:230) ... 50
    more Caused by: java.sql.SQLException: [SAP_Portals][SQLServer JDBC Driver][SQLServer]Column name 'PRIORITY_ID' appears more than once in the result column list. </i>
    We are using p9 sqlserver driver . Is it something related to driver problem or some configuration issue.
    Please Suggest,
    Thanks,
    Mukul.
    Edited by: Mukul Mangla on Mar 25, 2009 2:03 PM

    As stated by Ken, the Organizer does not consider duplicate file names as duplicate files : the full path with folder hierarchy is taken into account. I have the same situation than you with my camera limited to 10 000 ... I am working with this fact since 1999, and I have no organization problem with that. Absolutely no necessity to rename in my case, but you may have other requirements ?
    If so, it's good to know that you can use the downloader to rename at the import stage (hence the questions of Ken about the way you import).
    You mentionned batch renaming : that can only be made from within the organizer, and I would seriously recommend thinking twice before deciding to do so, a full backup before that being a must.

  • System generated name for PSA

    Hi friends,
    Could anyone tell me how to see the syatem generated table name of PSA and where to see.Thanks in advance.
    Venkat

    Hi Kiran,
    You can also find the name of the PSA table in the following way:
    In SE16 click F4 and then Information System.In the Short Description field put in the name of the InfoSource within *, like 0MATERIAL_ATTR and click the check mark. You will get the /BIC/ table (PSA table) that you are looking for.
    Hope this helps...

  • How to read the column name of a table from sap system using C#?

    Hi!!
    I am using SAP .NET connector and creating a windows application.
    Now I wanna read the column name when a table name is given....
    Connection is done, but I don't know the code to read the column names alone...
    Can anyone help me with the code??

    fine!!
    So if i give the table name, which the RFC_READ_TABLE function module have, will it run properly? or i wanna change all the codes in order to support RFC_READ_TABLE function module?
    Because from the beginning I was using BAPI_CUSTOMER_GETLIST function, but my client requirement is to use ERP function module RFC_READ_TABLE, he didn't give any table name also..
    This is my code: What I have to change in this???
    ECCDestinationConfig ECCDestination = new ECCDestinationConfig();
                RfcDestinationManager.RegisterDestinationConfiguration(ECCDestination);
                RfcDestination rfcDest = null;
                rfcDest = RfcDestinationManager.GetDestination(a);
                    RfcRepository repo = rfcDest.Repository;
                    IRfcFunction customerList = repo.CreateFunction("BAPI_CUSTOMER_GETLIST");
                    IRfcTable addressData = customerList.GetTable("AddressTable"));
                    int j = addressData.Metadata.LineType.FieldCount;
                    for (int i = 0; i < j; i++)
                        RfcElementMetadata metadata = addressData.GetElementMetadata(i);
                        listallcolumn.Items.Add(metadata.Name);
    Message was edited by: Jeswin Rebil

  • Generating mixed case for table and column names

    I trying to get table definition from Oracle 9i database into my toplink workbench
    (version 9.0.3), the column names and table names are capitilized by
    default, how do I change this to be mixed case? Thanks

    I'm not sure why you want them changed. The Oracle database by default is case insensitive, which in essence means it converts everything to upper case when a case is not specified (which can be done by wrapping it in quotes). Unfortunately, Java strings are case sensitive. This means that if you try searching resultsets for "TableName" when the database driver is returning "TABLENAME", you will run into problems. It is probably better to have your project match your database as closely as possible to avoid any issues later on.
    That said, I don't know of a way to automatically have the workbench use mixed case names - it uses the strings as they are returned from the database. I believe you will need to manually change the table names if you want them to be different than what you have imported.
    Best Regards,
    Chris

  • Remove column name in generated CSV file through ODI

    Hi,
    I want to remove the column names in CSV file which I am creating through database.
    I have tried putting "heading to zero in the the datastore", which I created for csv file, but it is not working.
    Please assist.
    Thanks,
    Sudeep Naik

    Okay let me explain.After creating your csv file you open it.If 1st row contains column name then during reverse you use heading as 1. Regarding c1,c2 these are the column name defined by odi.Its not going to come as your data.The way i told you just make it by giving header 1 then reverse it.After that just drag it to your interface.Then on interface right click on source table and click on view data.Here you can find if your column name is coming as data or not.Hope you are clear now.
    Thanks.

  • How to get the column name and table name from xml file

    I have one XML file, I generated xsd file from that xml file but the problem is i dont know table name and column name. So my question is how can I retrieve the data from that xml file?

    Here's an example using binary XML storage (instead of Object-Relational storage as described in the article).
    begin
      dbms_xmlschema.registerSchema(
        schemaURL       => 'my_schema.xsd'
      , schemaDoc       => xmltype(bfilename('TEST_DIR','my_schema.xsd'), nls_charset_id('AL32UTF8'))
      , local           => true
      , genTypes        => false
      , genTables       => true
      , enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_CONTENTS
      , options         => dbms_xmlschema.REGISTER_BINARYXML
    end;
    genTables => true : means that a default schema-based XMLType table will be created during registration.
    enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_CONTENTS : indicates that a repository resource conforming to the schema will be automatically stored in the default table.
    If the schema is not annotated, the name of the default table is system-generated but derived from the root element name :
    SQL> select table_name
      2  from user_xml_tables
      3  where xmlschema = 'my_schema.xsd'
      4  and element_name = 'employee';
    TABLE_NAME
    employee1121_TAB
    (warning : the name is case-sensitive)
    To annotate the schema and control the naming, modify the content to :
    <?xml version="1.0" encoding="UTF-8" ?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">
      <xs:element name="employee" xdb:defaultTable="EMPLOYEE_XML">
        <xs:complexType>
    Next step : create a resource, or just directly insert an XML document into the table.
    Example of creating a resource :
    declare
      res  boolean;
      doc  xmltype := xmltype(
    '<employee>
      <details>
        <emp_id>1</emp_id>
        <emp_name>SMITH</emp_name>
        <emp_age>40</emp_age>
        <emp_dept>10</emp_dept>
      </details>
    </employee>'
    begin
      res := dbms_xdb.CreateResource(
               abspath   => '/public/test.xml'
             , data      => doc
             , schemaurl => 'my_schema.xsd'
             , elem      => 'employee'
    end;
    The resource has to be schema-based so that the default storage mechanism is triggered.
    It could also be achieved if the document possesses an xsi:noNamespaceSchemaLocation attribute :
    SQL> declare
      2 
      3    res  boolean;
      4    doc  xmltype := xmltype(
      5  '<employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      6             xsi:noNamespaceSchemaLocation="my_schema.xsd">
      7    <details>
      8      <emp_id>1</emp_id>
      9      <emp_name>SMITH</emp_name>
    10      <emp_age>40</emp_age>
    11      <emp_dept>10</emp_dept>
    12    </details>
    13   </employee>'
    14   );
    15 
    16  begin
    17    res := dbms_xdb.CreateResource(
    18             abspath   => '/public/test.xml'
    19           , data      => doc
    20           );
    21  end;
    22  /
    PL/SQL procedure successfully completed
    SQL> set long 5000
    SQL> select * from "employee1121_TAB";
    SYS_NC_ROWINFO$
    <employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceS
      <details>
        <emp_id>1</emp_id>
        <emp_name>SMITH</emp_name>
        <emp_age>40</emp_age>
        <emp_dept>10</emp_dept>
      </details>
    </employee>
    Then use XMLTABLE to shred the XML into relational format :
    SQL> select x.*
      2  from "employee1121_TAB" t
      3     , xmltable('/employee/details'
      4         passing t.object_value
      5         columns emp_id   integer      path 'emp_id'
      6               , emp_name varchar2(30) path 'emp_name'
      7       ) x
      8  ;
                                     EMP_ID EMP_NAME
                                          1 SMITH

Maybe you are looking for