New Index on 550 Gb table - suggstions please

Hello friends,
i have to create a new Index in Oracle 11g db for a table of size around 550GB. please give me your expert suggestions.
I have checked SAP Note 334224 and plan to do with SQl
Create the index using SQLPLUS with the following command:
create index <index name> on <table name> ( <field1, field2, ...> )
nologging tablespace <tablespace name>
parallel (degree <number>)
..........online;
questions:
1. How much Temp tablespace is required for this.
2. Any suggestions for parallel (degree <number>) parameter.. we have 4 CPU.
3. Should i use parameter nologging or complete nologging tablespace <tablespace name> ? does it have any problems ? Database is in archivelog mode.. and is it required for complete tablespace ?
thanks
ashish

ashish vikas wrote:
> 1. How much Temp tablespace is required for this.
> 2. Any suggestions for parallel (degree <number>) parameter.. we have 4 CPU.
> 3. Should i use parameter nologging or complete nologging tablespace <tablespace name> ? does it have any problems ? Database is in archivelog mode.. and is it required for complete tablespace ?
Hi,
1) I think, when using parallel DDL, it always uses direct path i/o and then it goes directly to temp.
Never saw anything different when doing this. Always had "direct path write temp" as wait event in ST04 during creation.
Check the index name on DB level in the development system. If the tablename is long, the activation
of the transport imported later might change the name to make it fit into the namespace and therefore
might shorten some names.
I e. ODS-Table name
/BIC/ABCD_GH_JKL
Index 010
leads to an index name
/BIC/ABCD_GH_JKL10
on DB level. It depends on the length of the table name. In this case /BIC/ABCD_GH_JKL~010 would be too long.
If you plan to import the corresponding transport afterwards, make sure, that the index name fit the one that
will be generated on DB level. Otherwise you might get an error that this fieldlist is already indexed.
Keep in mind that allthough you create online, it requires a short exclusive lock to start. Just had that last week.
My statement waited about 25 minutes in ST04 before it kicked off the PQ slaves.
2) If you are nearly alone, and your CPUs are speedy,  I'd go parallel 8. This will create 16 PQ slaves for the statement,
8 beinig busy pumping data to temp, 8 waiting until these are ready and then doing reading temp and writing target.
If there is activity on the system, 2 or 4 might be a better choice.
3) NEVER set the TS nologging. But yes, you can use NOLOGGING in the create statement. Check the brrecover docu.
It is capable of handling NOLOGGING indexes after a restore, but in general it should be avoided,
esp. if the index is not re-created all the time (as i.e. in BW dataloads).
Volker
Oh, and as for the discussion of temp files:
I thought since oracle 10g you can simply drop empty datafiles and tempfiles.
So I'd extend PSAPTEMP as needed and simply drop the files back out afterwards.
Keep in mind these are SPARSE Files that may not use the shown space in the filesystem until utilized!
I mind I have read somewhere that change of a schema owner is a development request for version 12.
Edited by: Volker Borowski on Sep 27, 2011 8:23 PM

Similar Messages

  • New index EKKO table

    Hi,
    I need to select from EKKO and the where the clause will be based on the BUKRS field, but there isn't any standard Index that contain this field, I was wondering if there is any problem to create a new index on this table?
    The new index will be:
    - MANDT
    - BUKRS
    Is this ok? It won't compromise other standards programs?
    Thank and regards,
    Eduardo

    It will add a small amount of overhead to any program that creates a PO. But the main problem is that a secondary index on BUKRS alone probably won't be selective enough to do any good.
    Rob

  • Can we change the fields of database unique index in a customised table?

    Hi all..
    I want to know that can we create or change or delete the database unique index of a customized table?
    In my case, there is a customised table with 4 primary keys with all the records to be maintained thru transaction code SM30.
    There is database unique index maintained for this table which has 2 fields. These 2 fields are out of the 4 primary fields of the table.I hope I have made myself clear!
    Now when I am trying to insert a record in the table it give me a short dump.( It says duplication of records is not allowed)
    The reason being that the new record that I am trying to insert in the database table has those 2 fields for which the unique index is maintained is the same as an already existing record.And the other two fields are different from the already existing record.So overall the combination of the 4 primary fields is different.
    Please tell me how shall I proceed now?
    I also tried to change the Unique index but it is asking me some kind of authrization(You are not authorized to make changes (authorization object S_DEVELOP)).Also I am not sure whether changing the unique index is feasible or not.?
    Thanks.

    hi
    I think you will not be able to do unique indexing withou the help of primary keys,so use all the primary keys into the table field selections  and and then create indexing otherwise dupilication of keys can occur. if you are not able to keep the primary keys then go for non unique key indexing,where you have to add the client field and the any keys of your wish.

  • How can I add a new column in compress partition table.

    I have a compress partition table when I add a new column in that table it give me an error "ORA-22856: CANNOT ADD COLUMNS TO OBJECT TABLES". I had cretaed a table in this clause. How can I add a new column in compress partition table.
    CREATE TABLE Employee
    Empno Number,
    Tr_Date Date
    COMPRESS PARTITION BY RANGE (Tr_Date)
    PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
    PARTITION JUNK Values LESS THAN (MAXVALUE));
    Note :
    When I create table with this clause it will allow me to add a column.
    CREATE TABLE Employee
    Empno Number,
    Tr_Date Date
    PARTITION BY RANGE (Tr_Date)
    PARTITION FIRST Values LESS THAN (To_Date('01-JUL-2006','DD-MON-YYYY')),
    PARTITION JUNK Values LESS THAN (MAXVALUE));
    But for this I have to drop and recreate the table and I dont want this becaue my table is in online state i cannot take a risk. Please give me best solution.

    Hi Fahed,
    I guess, you are using Oracle 9i Database Release 9.2.0.2 and the Table which you need to alter is in OLTP environment where data is usually inserted using regular inserts. As a result, these tables generally do not get much benefit from using table compression. Table compression works best on read-only tables that are loaded once but read many times. Tables used in data warehousing applications, for example, are great candidates for table compression.
    Reference : http://www.oracle.com/technology/oramag/oracle/04-mar/o24tech_data.html
    Topic : When to Use Table Compression
    Bug
    Reference : http://dba.ipbhost.com/lofiversion/index.php/t147.html
    BUG:<2421054>
    Affects: RDBMS (9-A0)
    NB: FIXED
    Abstract: ENH: Allow ALTER TABLE to ADD/DROP columns for tables using COMPRESS feature
    Details:
    This is an enhancement to allow "ALTER TABLE" to ADD/DROP
    columns for tables using the COMPRESS feature.
    In 9i errors are reported for ADD/DROP but the text may
    be misleading:
    eg:
    ADD column fails with "ORA-22856: cannot add columns to object tables"
    DROP column fails with "ORA-12996: cannot drop system-generated virtual column"
    Note that a table which was previously marked as compress which has
    now been altered to NOCOMPRESS also signals such errors as the
    underlying table could still contain COMPRESS format datablocks.
    As of 10i ADD/SET UNUSED is allowed provided the ADD has no default value.
    Best Regards,
    Muhammad Waseem Haroon
    [email protected]

  • Query Hangs after adding new Indexes

    Hi Gurus,
    In order to fix some performance issues in the integration and UI, in our implementation we have added some new indexes like FST_NAME,LAST_NAME for S_CONTACT table.
    We did not make any new configurations or SRF compilations. No new data is loaded into database.
    But since today morning when we query in the application (Contact List Applet) the application simply hangs. We tried it with many sessions from different machines.
    We thought of, this could be because of some broken earlier data source connections within the task/session. But the query in other entities is working totally fine.We tried Accounts and Assets, they are working fine.
    We did a spool of SQL and executed the same statement in TOAD.It is strange, the statement is executed in just few milli seconds, as it was earlier.
    We could not find root cause.
    Could somebody give some ideas.
    Regards

    Hi Robert,
    In the Object Manager session log file I found the following trace after the SQL statement.
    T2.PR_EMP_ID = T11.PAR_ROW_ID (+) AND
    T25.PR_DEPT_OU_ID = T3.ROW_ID (+) AND
    T25.PR_DEPT_OU_ID = T21.PAR_ROW_ID (+) AND
    T25.PR_DEPT_OU_ID = T24.PAR_ROW_ID (+) AND
    T25.PR_SYNC_USER_ID = T10.ROW_ID (+) AND
    T25.PR_SYNC_USER_ID = T15.PAR_ROW_ID (+) AND
    (T25.EMP_FLG = 'N') AND
    (T25.PERSON_UID LIKE :3)
    ObjMgrSqlLog     Detail     4     0003f7324a41481b:0     2009-07-27 15:03:09     Bind variable 1: 0-5220
    ObjMgrSqlLog     Detail     4     0003f7324a41481b:0     2009-07-27 15:03:09     Bind variable 2: 0-5220
    ObjMgrSqlLog     Detail     4     0003f7324a41481b:0     2009-07-27 15:03:09     Bind variable 3: S1028056768*
    ObjMgrSqlLog     Debug     5     0003f7324a41481b:0     2009-07-27 15:03:09     User search spec: S1028056768*
    ObjMgrSqlLog     Debug     5     0003f7324a41481b:0     2009-07-27 15:03:09     Named search [Applet Search Spec Named Search]: [Employee Flag]='N'
    ObjMgrSqlLog     Debug     5     0003f7324a41481b:0     2009-07-27 15:03:09     User sort spec:
    ObjMgrSqlLog     Debug     5     0003f7324a41481b:0     2009-07-27 15:03:09     System sort spec:
    ObjMgrSqlLog     Debug     5     0003f7324a41481b:0     2009-07-27 15:03:09     0xf1fcf0f8: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWEFrame::ExecuteQuery()() +0xf8
    0xf1fcb62c: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWEFrame::DoInvokeMethod(const unsigned short*,CSSStringArray&,SSstring&)() +0x1ec
    0xf20b6c80: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWEFrameList::DoInvokeMethod(const unsigned short*,CSSStringArray&,SSstring&)() +0x280
    0xebcf0fbc: /siebel/siebsrvr/lib/libswcacmfr.so!unsigned CSSSWEFrameListBase::DoInvokeMethod(const unsigned short*,CSSStringArray&,SSstring&)() +0x77c
    0xe67e17e4: /siebel/siebsrvr/lib/libswfafcfr.so!unsigned CSSSWEFrameListFINGenericButton::DoInvokeMethod(const unsigned short*,CSSStringArray&,SSstring&)() +0x164
    0xf1fcb158: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWEFrame::InvokeMethod(const unsigned short*,CSSStringArray&,SSstring&)() +0x118
    0xf20e7750: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWEFrameMgrInternal::InvokeAppletMethod(CSSSWEHtmlStream*,CSSSWEArgs*,WWEReqModInfo*,WWECbInfo*&,CSSStringArray&)() +0xd90
    0xf20ca6cc: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWECmdProcessor::InvokeMethod(CSSSWEHtmlStream*,CSSSWEArgs*,WWEReqModInfo*,WWECbInfo*&)() +0x88c
    0xf20c8c7c: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWECmdProcessor::_ProcessCommand(CSSSWEHtmlStream*,WWEReqModInfo*,WWECbInfo*&)() +0x87c
    0xf20cea1c: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWECmdProcessor::ProcessCommand(CSSSWEGenericRequest*,CSSSWEGenericResponse*,WWEReqModInfo*&,WWECbInfo*&)() +0x9bc
    0xf20cddb8: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSSWECmdProcessor::ProcessCommand(CSSSWEHttpRequest*,CSSSWEHttpResponse*,WWECbInfo*&)() +0xd8
    0xf2321724: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSServiceSWEIface::Request(CSSSWEReqRec*,CSSSWEResponseRec*)() +0x404
    0xf231e3e0: /siebel/siebsrvr/lib/libsscaswbc.so!unsigned CSSServiceSWEIface::DoInvokeMethod(const unsigned short*,const CCFPropertySet&,CCFPropertySet&)() +0xa80
    0xf969b1a4: /siebel/siebsrvr/lib/libsscfom.so!unsigned CSSService::InvokeMethod(const unsigned short*,const CCFPropertySet&,CCFPropertySet&)() +0x244
    0xf9b616e4: /siebel/siebsrvr/lib/libsstcsiom.so!int CSSSIOMSession::ModInvokeSrvcMethod(const unsigned short*,const unsigned short*,const unsigned short*,SSstring&)() +0x124
    0xf9b6881c: /siebel/siebsrvr/lib/libsstcsiom.so!int CSSSIOMSession::RPCMiscModel(SISOMRPCCode,SISOMArgType,unsigned long,CSSSISOMRPCArgList*,CSSSISOMRPCArgList*,int&,void*)() +0x5bc
    0xf9b5efb8: /siebel/siebsrvr/lib/libsstcsiom.so!int CSSSIOMSession::HandleRPC(SISOMRPCCode,SISOMArgType,unsigned long,CSSSISOMRPCArgList*,CSSSISOMRPCArgList*,int&,void*)() +0xb98
    0xfa5144f8: /siebel/siebsrvr/lib/libsssasos.so!unsigned CSSClient::HandleOMRPC(CSSClientReq*)() +0x78
    0xfa511698: /siebel/siebsrvr/lib/libsssasos.so!unsigned CSSClient::HandleRequest(CSSClientReq*)() +0x2f8
    0xfa50c3e4: /siebel/siebsrvr/lib/libsssasos.so!unsigned _IsThreadPoolEnabled(const bool,const void*,bool&)() +0x8c4
    0xfa50d45c: /siebel/siebsrvr/lib/libsssasos.so!int SOMMTServer::SessionHandleMsg(smiSisReq*)() +0x1bc
    0x1ff7ac: /siebel/siebsrvr/bin/siebmtshmw!int smiMainThread::CompSessionHandleMsg(smiSisReq*)() +0x16c
    0x2237fc: /siebel/siebsrvr/bin/siebmtshmw!int smiMessageQ::ProcessMessage(smiMsgQItem*,long,int)() +0x93c
    0x2220c4: /siebel/siebsrvr/bin/siebmtshmw!int _smiMessageQ::ProcessRequest(void*,void*,void*&)() +0x244
    0x216774: /siebel/siebsrvr/bin/siebmtshmw!int _smiWorkQueue::ProcessWorkItem(void*,void*,void*&)() +0xd4
    0x2161e0: /siebel/siebsrvr/bin/siebmtshmw!int _smiWorkQueue::WorkerTask(void*)() +0x300
    0x20428c: /siebel/siebsrvr/bin/siebmtshmw!int
    It is stopped at the above line since a long time.
    And one more observation I made is.
    In the same applet for a normal other query, the working trace is as follows.
    0x2161e0: /siebel/siebsrvr/bin/siebmtshmw!int _smiWorkQueue::WorkerTask(void*)() +0x300
    0x20428c: /siebel/siebsrvr/bin/siebmtshmw!int SmiThrdEntryFunc(void*)() +0x46c
    0xfe75be88: /siebel/siebsrvr/lib/libsslcosd.so!void*OSDInstallHook(OSDHK,void*)() +0x2a8
    0xfe195730: /siebel/siebsrvr/mw/lib/libmfc400su.so!unsigned _AfxThreadEntry(void*)() +0x100
    0xfcdf1288: /siebel/siebsrvr/mw/lib/libkernel32.so!void MwThread(void*)() +0x23c
    0xfc8c4990: /lib/libc.so.1!_thr_slot_offset() +0x468
    ObjMgrSqlCursorLog     Prepare     5     00045fbb4a414cc9:0     2009-07-27 15:03:01     Begin: PrepareStmt for Sql Cursor at 9c30618
    ObjMgrSqlCursorLog     Prepare     5     00045fbb4a414cc9:0     2009-07-27 15:03:01     End: PrepareStatement for Sql Cursor at 9c30618
    ObjMgrSqlLog     Detail     4     00045fbb4a414cc9:0     2009-07-27 15:03:01     
    ***** SQL Statement Prepare Time for SQL Cursor with ID 9C30618: 0.002 seconds *****
    This statement is executed in within a second from UI applet.
    Please look into this.
    Edited by: user4619223 on Jul 27, 2009 3:05 PM

  • Creating index for standard SAP tables

    Hi!
    What are the advantages and disadvantages of creating addtional indexes for tables with massive amount of data (BSEG, BKPF, COEP, etc...).
    If I create a new index it supposed to make the table access faster, for the cost of hard disk space.
    Am I right?
    Thank you
    Tamá

    Hi,
    Primary and secondary indexes
    Index: Technical key of a database table.
    Primary index: The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database.
    Secondary index: Additional indexes could be created considering the most frequently accessed dimensions of the table.
    Structure of an Index
    An index can be used to speed up the selection of data records from a table.
    An index can be considered to be a copy of a database table reduced to certain fields. The data is stored in sorted form in this copy. This sorting permits fast access to the records of the table (for example using a binary search). Not all of the fields of the table are contained in the index. The index also contains a pointer from the index entry to the corresponding table entry to permit all the field contents to be read.
    When creating indexes, please note that:
    An index can only be used up to the last specified field in the selection! The fields which are specified in the WHERE clause for a large number of selections should be in the first position.
    Only those fields whose values significantly restrict the amount of data are meaningful in an index.
    When you change a data record of a table, you must adjust the index sorting. Tables whose contents are frequently changed therefore should not have too many indexes.
    Make sure that the indexes on a table are as disjunctive as possible.
    (That is they should contain as few fields in common as possible. If two indexes on a table have a large number of common fields, this could make it more difficult for the optimizer to choose the most selective index.)
    Accessing tables using Indexes
    The database optimizer decides which index on the table should be used by the database to access data records.
    You must distinguish between the primary index and secondary indexes of a table. The primary index contains the key fields of the table. The primary index is automatically created in the database when the table is activated. If a large table is frequently accessed such that it is not possible to apply primary index sorting, you should create secondary indexes for the table.
    The indexes on a table have a three-character index ID. '0' is reserved for the primary index. Customers can create their own indexes on SAP tables; their IDs must begin with Y or Z.
    If the index fields have key function, i.e. they already uniquely identify each record of the table, an index can be called a unique index. This ensures that there are no duplicate index fields in the database.
    When you define a secondary index in the ABAP Dictionary, you can specify whether it should be created on the database when it is activated. Some indexes only result in a gain in performance for certain database systems. You can therefore specify a list of database systems when you define an index. The index is then only created on the specified database systems when activated
    Thanks and Regards
    Arun Joseph

  • Impact of Creating new index ?

    Hi All, I am using 10.2.0.4.0 version of oracle.
    I want expert advice in below scenario.
    I need to create one index, as because a particular 'Search' query going slow and my customer frequently accessing that 'Search' Functionality. i have tried all alternative for tuning that query, and finally decided to go for creating New Composite index on two columns of a table that is used in the query.
    So my question/concern is , what will be the impact on other 'Select' queries those are using these columns in their predicate? Whether there is any possibility of any negative impact(slow performance) on them due to this new index. What should be the right way to go for impact analysis in the above scenario?
    ( Please note in this case i am least bothered about the impact on 'INSERTS' due to this index creation).

    >
    Hi again,
    For now, can you please confirm, As 'rp0428' mentioned there is chances of better performance in other 'Select' queries,
    but there is no chance of performance degradation to this new index in other queries. As because oracle will evaluate the best among all.
    Is the above statement always hold true or there may be deviations?Hmmm... I can see no good reason why an added index should adversely affect other SELECTs - the optimiser should
    simply ignore the new index if it doesn't impact other queries - and may make use of it in ways you didn't forsee.
    Having said that, I can't guarantee that this is the case. I would run tests before implementing it in production - at least
    try and test your most common/frequently run queries - remember [url http://en.wikipedia.org/wiki/Pareto_principle]Paretos law.
    A small fraction of your queries will have a large impact on the system and some will be "marginal" to performance/usage.
    Sometimes the optimiser behaves in counter-intuitive ways - run at least some tests and then try it is what I would do if you
    (can't | don't have the time to) test exhaustively.
    HTH,
    Paul...

  • How to add new field into dynamic internal table

    Hello Expert.
    how to add new field into dynamic internal table.
    PARAMETERS: P_TABLE(30).    "table name
    DATA: I_TAB TYPE REF TO DATA.
    FIELD-SYMBOLS: <TAB> TYPE standard TABLE.
    *Create dynamic FS
    create DATA I_TAB TYPE TABLE OF (p_table).
      ASSIGN I_TAB->* TO <TAB>.
    SELECT * FROM (p_table) INTO TABLE <TAB>.
       here i want to add one more field into <TAB> at LAST position and my 
       Field name  =  field_stype     and
       Field type    =  'LVC_T_STYL'
    could you please helpme out .

    Hi,
    Please find the code below.You can add the field acc to your requirement.
    Creating Dynamic internal table
    TYPE-POOLS: slis.
    FIELD-SYMBOLS: <t_dyntable> TYPE STANDARD TABLE,  u201C Dynamic internal table name
                   <fs_dyntable>,                     u201C Field symbol to create work area
                   <fs_fldval> type any.              u201C Field symbol to assign values 
    PARAMETERS: p_cols(5) TYPE c.                     u201C Input number of columns
    DATA:   t_newtable TYPE REF TO data,
            t_newline  TYPE REF TO data,
            t_fldcat   TYPE slis_t_fldcat_alv,
            t_fldcat   TYPE lvc_t_fcat,
            wa_it_fldcat TYPE lvc_s_fcat,
            wa_colno(2) TYPE n,
            wa_flname(5) TYPE c. 
    Create fields .
      DO p_cols TIMES.
        CLEAR wa_it_fldcat.
        move sy-index to wa_colno.
        concatenate 'COL'
                    wa_colno
               into wa_flname.
        wa_it_fldcat-fieldname = wa_flname.
        wa_it_fldcat-datatype = 'CHAR'.
        wa_it_fldcat-intlen = 10.
        APPEND wa_it_fldcat TO t_fldcat.
      ENDDO. 
    Create dynamic internal table and assign to FS
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = t_fldcat
        IMPORTING
          ep_table        = t_newtable. 
      ASSIGN t_newtable->* TO <t_dyntable>. 
    Create dynamic work area and assign to FS
      CREATE DATA t_newline LIKE LINE OF <t_dyntable>.
      ASSIGN t_newline->* TO <fs_dyntable>.
    Populating Dynamic internal table 
      DATA: fieldname(20) TYPE c.
      DATA: fieldvalue(10) TYPE c.
      DATA: index(3) TYPE c. 
      DO p_cols TIMES. 
        index = sy-index.
        MOVE sy-index TO wa_colno.
        CONCATENATE 'COL'
                    wa_colno
               INTO wa_flname. 
    Set up fieldvalue
        CONCATENATE 'VALUE' index INTO
                    fieldvalue.
        CONDENSE    fieldvalue NO-GAPS. 
        ASSIGN COMPONENT  wa_flname
            OF STRUCTURE <fs_dyntable> TO <fs_fldval>.
        <fs_fldval> =  fieldvalue. 
      ENDDO. 
    Append to the dynamic internal table
      APPEND <fs_dyntable> TO <t_dyntable>.
    Displaying dynamic internal table using Grid. 
    DATA: wa_cat LIKE LINE OF fs_fldcat. 
      DO p_cols TIMES.
        CLEAR wa_cat.
        MOVE sy-index TO wa_colno.
        CONCATENATE 'COL'
                    wa_colno
               INTO wa_flname. 
        wa_cat-fieldname = wa_flname.
        wa_cat-seltext_s = wa_flname.
        wa_cat-outputlen = '10'.
        APPEND wa_cat TO fs_fldcat.
      ENDDO. 
    Call ABAP List Viewer (ALV)
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          it_fieldcat = fs_fldcat
        TABLES
          t_outtab    = <t_dyntable>.

  • How to find out the user who has created  a new field in the custom table.

    How to find out the user details who has created  a new field in the custom table.
    Thanks,
    Joan

    Hi Jesudasan ,
    You can know the user details with version management.Please find the
    below procedure to know.
    Go to table->Utilities tab->version->Version management->Compare the previous one .
    Hope this solves the issue,Let me know if you have any issues.
    Thanks,
    Rajani

  • Creating a bit map index on a partitioned table

    Dear friends,
    I am trying to create a bitmap index on a partitioned table but am receiving the following ORA error. Can you please let me know on how to create a local bit map index as the message suggests?
    ERROR at line 1:
    ORA-25122: Only LOCAL bitmap indexes are permitted on partitioned tables
    Trying to use the keyword local in front leads to wrong syntax.
    Thanks in advance !!
    Somnath

    ORA-25122 Only LOCAL bitmap indexes are permitted on partitioned tables
    Cause: An attempt was made to create a global bitmap index on a partitioned table.
    Action: Create a local bitmap index instead
    Example of a Local Index Creation
    CREATE INDEX employees_local_idx ON employees (employee_id) LOCAL;
    Example is about btree and I think it will work for bitmap also.

  • Error when apply a new Index in tools - siebel 8.1

    I created a new index in table S_INVOICE_ADJ. But when I tried to apply this i receive a error message:
    UTLDbDdlDbMerge
    pOperCallback UTLDbDdlOperIndCreate
    S1000 (936): [DataDirect][ODBC Oracle driver][Oracle]ORA-00936: missing expression
    Anyone knows what it mean?
    The index I created with type = Extension and column index = TYPE_CD.
    Thanks

    Hi Pradeep,
    Index out of bound is nothing but any of your fields exceeding the specified size limit.
    Check properties for each field and alter the size limit and try once again.
    Note: Assign points if it helps
    Regards,
    Arun.M.D

  • Non-Partitioned Global Index on Range-Partitioned Table.

    Hi All,
    Is it possible to create Non-Partitioned Global Index on Range-Partitioned Table?
    We have 4 indexes on CS_BILLING range-partitioned table, in which one is CBS_CLIENT_CODE(*local partitioned index*) and others are unknown types of index to me??
    Means other 3 indexes are what type indexes ...either non-partitioned global index OR non-partitioned normal index??
    Also if we create index as :(create index i_name on t_name(c_name)) By default it will create Global index. Please correct me......
    Please help me in identifying other 3 indexes types by referring below ouputs!!!
    select INDEX_NAME,TABLE_NAME,PARTITIONING_TYPE,LOCALITY from dba_part_indexes where TABLE_NAME='CS_BILLING';
    INDEX_NAME TABLE_NAME PARTITI LOCALI
    CSB_CLIENT_CODE CS_BILLING RANGE LOCAL
    select index_name,index_type,table_name,table_type,PARTITIONED from dba_indexes where table_name='CS_BILLING';
    INDEX_NAME INDEX_TYPE TABLE_NAME TABLE_TYPE PAR
    CSB_CREATE_DATE NORMAL CS_BILLING TABLE NO
    CSB_SUBMIT_ORDER NORMAL CS_BILLING TABLE NO
    CSB_CLIENT_CODE NORMAL CS_BILLING TABLE YES
    CSB_ORDER_NBR NORMAL CS_BILLING TABLE NO
    select INDEX_OWNER,INDEX_NAME,TABLE_NAME,COLUMN_NAME from dba_ind_columns where TABLE_NAME='CS_BILLING';
    INDEX_OWNER INDEX_NAME TABLE_NAME COLUMN_NAME
    RPADMIN CSB_CREATE_DATE CS_BILLING CREATE_DATE
    RPADMIN CSB_SUBMIT_ORDER CS_BILLING SUBMIT_TO_INVOICE
    RPADMIN CSB_SUBMIT_ORDER CS_BILLING ORDER_NBR
    RPADMIN CSB_CLIENT_CODE CS_BILLING CLIENT_CODE
    RPADMIN CSB_ORDER_NBR CS_BILLING ORDER_NBR
    select dip.index_name, dpi.locality, dip.partition_name, dip.status
    from dba_part_indexes dpi, dba_ind_partitions dip
    where dpi.table_name ='CS_BILLING'
    and dpi.index_name = dip.index_name;
    INDEX_NAME LOCALI PARTITION_NAME STATUS
    CSB_CLIENT_CODE LOCAL CSB_2006_4Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2006_3Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2007_1Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2007_2Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2007_3Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2007_4Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2008_1Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2008_2Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2008_3Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2008_4Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2009_1Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2009_2Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2009_3Q USABLE
    CSB_CLIENT_CODE LOCAL CSB_2009_4Q USABLE
    select * from dba_part_indexes
    where table_name ='CS_BILLING'
    and locality = 'GLOBAL';
    no rows selected
    -Yasser
    Edited by: YasserRACDBA on Mar 5, 2009 11:45 PM

    Yaseer,
    Is it possible to create Non-Partitioned and Global Index on Range-Partitioned Table?
    Yes
    We have 4 indexes on CS_BILLING range-partitioned table, in which one is CBS_CLIENT_CODE(*local partitioned index*) and others are unknown types of index to me??
    Means other 3 indexes are what type indexes ...either non-partitioned global index OR non-partitioned normal index??
    You got local index and 3 non-partitioned "NORMAL" b-tree tyep indexes
    Also if we create index as :(create index i_name on t_name(c_name)) By default it will create Global index. Please correct me......
    Above staement will create non-partitioned index
    Here is an example of creating global partitioned indexes
    CREATE INDEX month_ix ON sales(sales_month)
       GLOBAL PARTITION BY RANGE(sales_month)
          (PARTITION pm1_ix VALUES LESS THAN (2)
           PARTITION pm2_ix VALUES LESS THAN (3)
           PARTITION pm3_ix VALUES LESS THAN (4)
            PARTITION pm12_ix VALUES LESS THAN (MAXVALUE));Regards

  • Transport of secondary index on /BIC/P table

    Hi All,
    I have created a secondary index on '/BIC/P table and it is not allowing me to assign a transport object as the table itself is temporary and it gets created automatically in the target system when we activate the info-object.
    Is there any way to transport the secondary index directly on the /BIC/P table ?
    Its urgent.
    Thanks
    Soumya

    Soumya,
    Sorry for not being clear enough: you can change the package of this index and transport it but since the P table could be regenerated automatically by the BW application when you change your IObj you may now get into troubles when importing a change.
    Indeed having now a local $TMP table with a non-local object underneath may not please your target system and even not your DEV system...
    One can always bypass SAP BW application; for instance creating indexes directly in the database; but this is at its own risk!
    hoping this will explain a bit further your issue
    Olivier.

  • Indexes on a fact table

    Hi All,
    We are trying to build a data warehouse. The data marts would be accessed by cognos reporting layer. In the data marts we have around 9 dimension tables and 1 fact table. For each month we will have around 21-25 million records in the fact table. Out of 9 dimensions there dim1 and dim2 have 21 million and 10 million records respectively. The rest 7 dimensions are very small like less than 10k records.
    In cognos reports they are trying to join the some dimension tables and the fact table to populate some reports. they are taking around 5-6 min.
    I have around 8 B-Tree indexes on this fact table with all possible combination of columns. I believe that these many indexes is not improving the performance. So I decided to create a aggregated table with measures. But in cognos there are some reports which give detailed information from the fact table and that are taking around 8 min.
    please advice as to what type indexes can be created on fact tables.
    I read that we can create bit map indexes based on join conditions but the documentation says that it can include columns only from dimension tables and not fact tables. Should the indexed columns be keys in dimensional tables?
    I have observed that the fact table is around 1.5gb. But each index is around 1.9 -2gb. I was kind of surprised when I saw that figure. Does it imply that index scan and table lookup would take more time than the full table scan? And hence it is not using the indexes.
    Any help is greatly appreciated.
    Thanks
    Hari

    What sort of queries are you running? Do you have an example (with a query plan)?
    Are indexes even useful? Or are you accessing too much data to make indexes worthwhile?
    Are you licensed to use partitioning? If so, are your fact tables partitioned? Are the queries doing partition pruning?
    Are you using parallelism? If so, is parallel query actually being invoked?
    If creating aggregate tables is a potentially useful strategy, you would want to use materialized views with query rewrite.
    Justin

  • Inserting a new row in a child table referencing an already existing parent

    I have two tables PARENT & CHILD (one to many), both of which are populated at different times.
    In our toplink mappings, parent contains a collection of child Domain Objects, & and child Domain object contains a one - one to parent.
    How can I insert a new row in a child table with reference to an already existing row in parent?
    When I fetch the parent Domain object and try to set it in the child Domain Object and use the unitOfWork.registerObject() it goes into a circular loop of selecting from 2 other tables.
    Please suggest.

    Odd, have you disabled caching and indirection? (NoIdentityMap, dontUseIndirection, or alwaysRefresh/disableCacheHits). If so, then this could be the issue.
    Otherwise please include the sample code you use to perform this, and verify that you do not have any unusual code in your set/get methods or in descriptor events. Also turn TopLink logging on and include a sample. Also ensure that you do not modify your objects until after registering them in the unit of work, and only modify the unit of work clones.

Maybe you are looking for

  • Short Dump while creating Configuration (Application or Component)

    Hi All, I m facing a short dump, while creating a Component or Applcation Configuration in the standard FPM_GAF_COMPONENT. Short dump states the Runtine error as MESSAGE_TYPE_UNKNOWN Short text     Message type " " is unknown. What happened?     Erro

  • How to set up a basic file sharing server for my small architectural business?

    I have no idea if I have posted in the correct area as this is my first forum post within the apple support community! I have been using a 21.5" imac running 10.6.8 for the past 5 years to run my small home based architectural design business. I have

  • Crystal Reports Loading Issue

    Hello all - any thoughts on this would be appreciated. I have loaded Crystal reports designer onto 3 users machines and am unable to export any reports to pdf.  There is a Salesforce.com fix pack that I have loaded for my version of crystal designer,

  • Is this a good backup strategy for a drive with Logic projects on it ?

    Let's say you build on a LP9 project, that could be editing regions on the arrange window, adding/ deleting plugins, and saving the project under the same name. Those edits are stored in the project file and now the session is different than the one

  • Problem with multiple invocations of thirdPartyCall.getCallInformation()

    Hi, I'm playing with simple "makeCall" application that is handled by {color:#000000}*Plugin_call_notification_sip*{color} (px21). Application just makes call and then monitors for its status: {color:#000080}*...* callID = thirdPartyCall.makeCall(cal