CREATE TABLE/INDEX execution times

Hello,
what are my options to optimize table and/or index creation times?
I have a script that creates something around 60 000 objects (maybe half index, half table) and while each operation takes no more than a second, this will result in a 17 hour execution time. So I'm looking for ways to decrease table creation by a fraction of a second :-/
What I can think of is that all of these operations end up writing to the same datafile (e.g. SYSTEM01.DBF), could it do any good to divide the system tablespace into more data files? Adding a datafile would only increase the quota, so I would have to regroup the data?
Or can I increase the number of redologs? Or temporarily add larger redolog files?
Here is an extract to demonstrate:
14:20:10 SQL> DROP TABLE PS_DOTL_PDS2_T2
14:20:10   2  /
Table dropped.
14:20:11 SQL> CREATE TABLE PS_DOTL_PDS2_T2 (PROCESS_INSTANCE DECIMAL(10) NOT NULL,
14:20:11   2           BUSINESS_UNIT VARCHAR2(5) NOT NULL,
14:20:11   3           PO_ID VARCHAR2(10) NOT NULL,
14:20:11   4           LINE_NBR INTEGER NOT NULL,
14:20:11   5           SCHED_NBR SMALLINT NOT NULL,
14:20:11   6           DISTRIB_LINE_NUM INTEGER NOT NULL,
14:20:11   7           BUSINESS_UNIT_REQ VARCHAR2(5) NOT NULL,
14:20:11   8           REQ_ID VARCHAR2(10) NOT NULL,
14:20:11   9           REQ_LINE_NBR INTEGER NOT NULL,
14:20:11  10           REQ_SCHED_NBR SMALLINT NOT NULL,
14:20:11  11           REQ_DISTRIB_NBR INTEGER NOT NULL,
14:20:11  12           ACCOUNT VARCHAR2(10) NOT NULL,
14:20:11  13           OPERATING_UNIT VARCHAR2(8) NOT NULL,
14:20:11  14           PRODUCT VARCHAR2(6) NOT NULL,
14:20:11  15           FUND_CODE VARCHAR2(5) NOT NULL,
14:20:11  16           CLASS_FLD VARCHAR2(5) NOT NULL,
14:20:11  17           PROGRAM_CODE VARCHAR2(5) NOT NULL,
14:20:11  18           BUDGET_REF VARCHAR2(8) NOT NULL,
14:20:11  19           AFFILIATE VARCHAR2(5) NOT NULL,
14:20:11  20           AFFILIATE_INTRA1 VARCHAR2(10) NOT NULL,
14:20:11  21           AFFILIATE_INTRA2 VARCHAR2(10) NOT NULL,
14:20:11  22           CHARTFIELD1 VARCHAR2(10) NOT NULL,
14:20:11  23           CHARTFIELD2 VARCHAR2(10) NOT NULL,
14:20:11  24           CHARTFIELD3 VARCHAR2(10) NOT NULL,
14:20:11  25           PROJECT_ID VARCHAR2(15) NOT NULL,
14:20:11  26           ALTACCT VARCHAR2(10) NOT NULL,
14:20:11  27           DEPTID VARCHAR2(10) NOT NULL,
14:20:11  28           MONETARY_AMOUNT DECIMAL(26, 3) NOT NULL,
14:20:11  29           DISTRIB_AMT DECIMAL(26, 3) NOT NULL,
14:20:11  30           PO_DT DATE,
14:20:11  31           CURRENCY_CD VARCHAR2(3) NOT NULL,
14:20:11  32           KK_CLOSE_PRIOR VARCHAR2(1) NOT NULL,
14:20:11  33           PO_STATUS VARCHAR2(2) NOT NULL,
14:20:11  34           MID_ROLL_STATUS VARCHAR2(1) NOT NULL,
14:20:11  35           CURRENCY_CD_BASE VARCHAR2(3) NOT NULL,
14:20:11  36           RT_TYPE VARCHAR2(5) NOT NULL) TABLESPACE PSAPP STORAGE (INITIAL
14:20:11  37   40000 NEXT 100000 MAXEXTENTS UNLIMITED PCTINCREASE 0) PCTFREE 10
14:20:11  38   PCTUSED 80
14:20:11  39  /
Table created.
14:20:11 SQL> CREATE UNIQUE  iNDEX PS_DOTL_PDS2_T2 ON PS_DOTL_PDS2_T2
14:20:11   2   (PROCESS_INSTANCE,
14:20:11   3           BUSINESS_UNIT,
14:20:11   4           PO_ID,
14:20:11   5           LINE_NBR,
14:20:11   6           SCHED_NBR,
14:20:11   7           DISTRIB_LINE_NUM,
14:20:11   8           BUSINESS_UNIT_REQ,
14:20:11   9           REQ_ID,
14:20:11  10           REQ_LINE_NBR,
14:20:11  11           REQ_SCHED_NBR,
14:20:11  12           REQ_DISTRIB_NBR) TABLESPACE PSINDEX STORAGE (INITIAL 40000 NEXT
14:20:11  13   100000 MAXEXTENTS UNLIMITED PCTINCREASE 0) PCTFREE 10 PARALLEL
14:20:11  14   NOLOGGING
14:20:11  15  /
Index created.
14:20:11 SQL> ALTER INDEX PS_DOTL_PDS2_T2 NOPARALLEL LOGGING
14:20:11   2  /
Index altered.
14:20:11 SQL> DROP TABLE PS_DOTL_PDS2_T3
14:20:11   2  /
Table dropped.
14:20:12 SQL> CREATE TABLE PS_DOTL_PDS2_T3 (PROCESS_INSTANCE DECIMAL(10) NOT NULL,
14:20:12   2           BUSINESS_UNIT VARCHAR2(5) NOT NULL,
14:20:12   3           PO_ID VARCHAR2(10) NOT NULL,
14:20:12   4           LINE_NBR INTEGER NOT NULL,
14:20:12   5           SCHED_NBR SMALLINT NOT NULL,
14:20:12   6           DISTRIB_LINE_NUM INTEGER NOT NULL,
14:20:12   7           BUSINESS_UNIT_REQ VARCHAR2(5) NOT NULL,
14:20:12   8           REQ_ID VARCHAR2(10) NOT NULL,
14:20:12   9           REQ_LINE_NBR INTEGER NOT NULL,
14:20:12  10           REQ_SCHED_NBR SMALLINT NOT NULL,
14:20:12  11           REQ_DISTRIB_NBR INTEGER NOT NULL,
14:20:12  12           ACCOUNT VARCHAR2(10) NOT NULL,
14:20:12  13           OPERATING_UNIT VARCHAR2(8) NOT NULL,
14:20:12  14           PRODUCT VARCHAR2(6) NOT NULL,
14:20:12  15           FUND_CODE VARCHAR2(5) NOT NULL,
14:20:12  16           CLASS_FLD VARCHAR2(5) NOT NULL,
14:20:12  17           PROGRAM_CODE VARCHAR2(5) NOT NULL,
14:20:12  18           BUDGET_REF VARCHAR2(8) NOT NULL,
14:20:12  19           AFFILIATE VARCHAR2(5) NOT NULL,
14:20:12  20           AFFILIATE_INTRA1 VARCHAR2(10) NOT NULL,
14:20:12  21           AFFILIATE_INTRA2 VARCHAR2(10) NOT NULL,
14:20:12  22           CHARTFIELD1 VARCHAR2(10) NOT NULL,
14:20:12  23           CHARTFIELD2 VARCHAR2(10) NOT NULL,
14:20:12  24           CHARTFIELD3 VARCHAR2(10) NOT NULL,
14:20:12  25           PROJECT_ID VARCHAR2(15) NOT NULL,
14:20:12  26           ALTACCT VARCHAR2(10) NOT NULL,
14:20:12  27           DEPTID VARCHAR2(10) NOT NULL,
14:20:12  28           MONETARY_AMOUNT DECIMAL(26, 3) NOT NULL,
14:20:12  29           DISTRIB_AMT DECIMAL(26, 3) NOT NULL,
14:20:12  30           PO_DT DATE,
14:20:12  31           CURRENCY_CD VARCHAR2(3) NOT NULL,
14:20:13  32           KK_CLOSE_PRIOR VARCHAR2(1) NOT NULL,
14:20:13  33           PO_STATUS VARCHAR2(2) NOT NULL,
14:20:13  34           MID_ROLL_STATUS VARCHAR2(1) NOT NULL,
14:20:13  35           CURRENCY_CD_BASE VARCHAR2(3) NOT NULL,
14:20:13  36           RT_TYPE VARCHAR2(5) NOT NULL) TABLESPACE PSAPP STORAGE (INITIAL
14:20:13  37   40000 NEXT 100000 MAXEXTENTS UNLIMITED PCTINCREASE 0) PCTFREE 10
14:20:13  38   PCTUSED 80
14:20:13  39  /
Table created. It's a PeopleSoft database, during one of the upgrade steps, running on Oracle 11.2.0.3, Windows patchset #17 I believe. (Win2008R2_64)
As always any input or references are greatly appreciated.
Best regards.

Hi,
See bellow. You can create deferred segment creation option of Oracle. Oracle will not spend time on extent allocation and can save you enormous amount of time overall.
http://www.oracle-base.com/articles/11g/segment-creation-on-demand-11gr2.php
What I can think of is that all of these operations end up writing to the same datafile (e.g. SYSTEM01.DBF), could it do any good to divide the system tablespace into more data files? >Adding a datafile would only increase the quota, so I would have to regroup the data?Why giving example of SYSTEM01.DBF? You should not be using system tablespace. Having multiple datafiles will not be helping you.
What do you mean by regroup of data?
Salman
Edited by: Salman Qureshi on Apr 10, 2013 4:02 PM

Similar Messages

  • INDEX Execution Time Difference

    Hi,
    I applied index in 3 columns of the table..... when i 1st executed the query it takes 345 secs but next time execution takes 45 secs,then again 17 secs and 8 secs.... I want to know why the execution time gets reduced here? please help me to understand this concept.........
    Thanks in Advance.

    when you run a query for the first time then oracle creates its hash value and execution plan and stores it in data dictionary cache and then it fetches the data from the datafile using I/O and that data is placed in the buffer cache so it takes more time. But when you run the query for second time it already has the hash value and execution plan and data in buffer cache so it takes less time.
    Edited by: saurabh on Aug 23, 2012 12:29 PM

  • Create table taking much time

    Hi all,
    I have to copy one table with more than 1 lakh records from one schema (deloitte) into another schema (dell). It is taking more time but not getting output as early as possible.
    Is there any alternative way to make it more faster for copying the data.
    Create table dell.newtable as
    (select * from deloitte.oldtable)
    Advance thanks

    Costa wrote:
    Hi all,
    I have to copy one table with more than 1 lakh records from one schema (deloitte) into another schema (dell). It is taking more time but not getting output as early as possible.
    Is there any alternative way to make it more faster for copying the data.
    Create table dell.newtable as
    (select * from deloitte.oldtable)the slow down is NOT CREATE TABLE itself.
    The slowdown is populating the new table with old data.
    Other sessions can not see uncommitted data.
    So until the statement completes other sessions have no rows to access.

  • Create Table taking long time (more than 60 minutes) and still running

    Hi all,
    I was able to create and drop table until yesterday, but now the when I issue the below statement the server is stuck, its showing creating table in process.... and then it hangs till you cancel the operation. Query of table and running the procedures are ok, so I am confused why only create table is having issues.
    CREATE TABLE table1
    ( field1 VARCHAR2(20) );
    Any help at the earliest will be appreciated,
    Thanks

    Just check up your status of the log files
    select * from v$logfile
    If the status is inactive,
    Just do a
    alter system switch logfile
    The alert log should have the problem specified check for the file.
    also try to recreate another user and take a try in table creation:
    SQL> connect sys/******
    SQL> create user scott identified by tiger default tablespace users temporary tablespace temp quota 100m on users;
    SQL> grant connect, resource to scott;_
    SQL> connect scott/tiger
    SQL> create table xyz ( a number);
    SQL> create table abc ( d number);
    Could you successfully create the tables?

  • Create table taking long time

    my select query(2m records) coming within a second but while creating a table (nologging) based on the select clause it is taking long time.
    can anybody give me the suggestion which part i will look to improve the performance..

    Plan
    SELECT STATEMENT ALL_ROWS Cost: 11 Bytes: 655 Cardinality: 1                                              
         19 FILTER                                         
              18 NESTED LOOPS Cost: 11 Bytes: 655 Cardinality: 1                                    
                   15 NESTED LOOPS Cost: 9 Bytes: 617 Cardinality: 1                               
                        12 NESTED LOOPS Cost: 8 Bytes: 481 Cardinality: 1                          
                             9 NESTED LOOPS Cost: 6 Bytes: 435 Cardinality: 1                     
                                  6 NESTED LOOPS Cost: 4 Bytes: 209 Cardinality: 1                
                                       3 TABLE ACCESS BY INDEX ROWID TABLE OYSTER_WEB3.TRANSACTION Cost: 2 Bytes: 155 Cardinality: 1           
                                            2 BITMAP CONVERSION TO ROWIDS      
                                                 1 BITMAP INDEX SINGLE VALUE INDEX (BITMAP) OYSTER_WEB3.IX_LINE_COMMODITY_ID
                                       5 TABLE ACCESS BY INDEX ROWID TABLE OYSTERPLUS_DATA.BRIO_SUPPLIERS Cost: 2 Bytes: 54 Cardinality: 1           
                                            4 INDEX UNIQUE SCAN INDEX (UNIQUE) OYSTERPLUS_DATA.PK_BRIO_SUPPLIERS Cost: 1 Cardinality: 1      
                                  8 TABLE ACCESS BY INDEX ROWID TABLE OYSTER3.FLAT_SITE_MV Cost: 2 Bytes: 226 Cardinality: 1                
                                       7 INDEX UNIQUE SCAN INDEX (UNIQUE) OYSTER3.PK_FLAT_SITE_MV Cost: 1 Cardinality: 1           
                             11 TABLE ACCESS BY INDEX ROWID TABLE OYSTER3.SITE_COMMODITY_CODING Cost: 2 Bytes: 46 Cardinality: 1                     
                                  10 INDEX UNIQUE SCAN INDEX (UNIQUE) OYSTER3.PK_SITE_COMMODITY_CODING Cost: 1 Cardinality: 1                
                        14 TABLE ACCESS BY INDEX ROWID TABLE OYSTERPLUS_DATA.BRIO_COMMODITIES Cost: 1 Bytes: 136 Cardinality: 1                          
                             13 INDEX UNIQUE SCAN INDEX (UNIQUE) OYSTERPLUS_DATA.PK_BRIO_COMMODITIES Cost: 0 Cardinality: 1                     
                   17 TABLE ACCESS BY INDEX ROWID TABLE OYSTER3.SUPPLIER_ALIAS Cost: 2 Bytes: 38 Cardinality: 1                               
                        16 INDEX UNIQUE SCAN INDEX (UNIQUE) OYSTER3.PK_SUPPLIER_ALIAS Cost: 1 Cardinality: 1

  • Creating nodes in execution time

    I'm trying to create a node in response to certain events, like that:
    Stage {
        title: "Application title"
        scene: Scene {
            width: 500, height: 200
            content: [
                Button {
                    text: "Button"
                    action: function() {
                        Circle {
                            radius: 40
                            fill: Color.BLACK
    }But the circle doesn't appear, because I guess the circle needs to link to the scene, isn't it?
    Then, do I need to indicate in the scene all the posibles nodes that it can be exist??
    I'm a little confused about this thing. I'll appreciate any help. :)

    As JavaFX is translated to Java and doesn't have primitive types, which are the only value types in Java platform, thus leaving only the reference types, we can assume FX variables hold a reference to the object and not the object itself (as any Java class variable).
    When two or more variables are binded, they will always share the same reference. It looks like a compiler "trick", the binded variables become aliases to a common variable which actually holds the reference to the real object. Simillar to the C++ references, declared by putting an ampersand (&) before the variable name.
    Botton line is that the objects themselves are not copied because it would be computationally very expensive. But also I can't accurately answer your question because there are several algorithms for heap management and several bytecodes translations for a single chunk of JavaFx source code
    I can only tell you what happens in language semantics, as for memory usage and CPU usage it will depend on the implementation and even on the device.
    The performance and memory usage differences between the approaches in the three examples provided is negligible. What affects the performance is the number of nodes, the depth level of the content tree and also the management algorithm that each container use.
    But using containers is very useful because they can efficiently handle resizing and positioning of the nodes thus improving aesthetics, decreasing development time and helping the creation of dynamically generated scenes or forms.

  • DAQmX create virtual channel execution time

    Hi,
    I am using DAQmX Create Virtual Channel for 70 different Digital Output. It took 35 seconds to execute the DAQmX Create Viryual Channel VI.
    What are the steps to make the execution faster.
    Valliappan.M

    Have you tried creating a global virtual channel with MAX?
    André
    Regards,
    André
    Using whatever version of LV the customer requires. (LV5.1-LV2012) (www.carya.nl)

  • Execution time of query on different indexes

    Hello,
    I have a query on the table, the execution time has hugh difference using different indexes on the table. The table has about 200,000 rows. Any explaination on it?
    Thanks,
    create table TB_test
    ( A1 number(9),
    A2 number(9)
    select count(*) from TB_test
    where A1=123 and A2=456;
    A. With index IDX_test on column A1:
    Create index IDX_test on TB_test(A1);
    Explain plan:
    SELECT STATEMENT
    Cost: 3,100
    SORT AGGREGATE
    Bytes: 38 Cardinality: 1
    TABLE ACCESS BY INDEX ROWID TABLE TB_test
    Cost: 3,100 Bytes: 36 Cardinality: 1
    INDEX RANGE SCAN INDEX IDX_test
    Cost: 40 Cardinality: 21,271
    Execution time is : 5 Minutes
    B. With index IDX_test on column A1 and A2:
    Create index IDX_test on TB_test(A1, A2);
    Explain plan:
    SELECT STATMENT
    Cost: 3 Bytes: 37 Cardinality: 1
    SORT AGGREGATE
    Bytes: 37 Cardinality: 1
    INDEX RANGE SCAN INDEZ IDX_test
    Cost: 3 Bytes 37 Cardinality:1
    Execution time is: 1.5 Seconds

    Additional you should check how many values you have in your table for the specific column values.
    The following select might be helful for that.
    select count(*)  "total_count"
           ,count(case when A1=123 then 1 end) "A1_count"
           ,count(case when A1=123 and A2=456 then 1 end) "A1andA2_count"
    from TB_test;Share your output of this.
    I expect the value for A1_count still to be high. But the value for A1+A2_count relatively low.
    However 5 minutes is far to long for such a small table. Even if you run it on a laptop.
    There must be a reason why it is that slow.
    First thing to consider would be to update your statistics for the table and the index.
    Second thing could be that the table is very sparsly fillled. Meaning, if you frequently delete records from this table and load new data using APPEND hint, then the table will grow, because the free space from the deletes is never reused. Any table access in the execution plan, will be slower then needed.
    A similar thing can happen, if many updates on previously empty columns are made on a table (row chaining problem).
    So if you explain a little, how this table is filled and used, we could recognize a typical pattern that leads to performance issues.
    Edited by: Sven W. on Nov 28, 2012 5:54 PM

  • Creating an auto incrementing field with CREATE TABLE from Java

    I'm using the "sun.jdbc.odbc.JdbcOdbcDriver" to get a connection towards an ODBC data source that's linked to a Access (.mdb) database.
    I've tried various combinations in my CREATE TABLE statement execution in order to create a table with an auto incrementing integer but neither of them work, not even the most obvious one:
    stmt.executeUpdate("CREATE TABLE mytable(uid integer AUTO_INCREMENT PRIMARY KEY);");
    I always get this runtime exception: *java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in field definition*; and AUTO_INCREMENT is the problem. I've tried all variations like AUTO, INCREMENT, AUTOINCREMENT and such, but nothing works.
    I've looked everywhere but couldn't find an answer to this. Thanks for the help.

    You used MySQL syntax. I think you agree with me that Access isn't a MySQL database. Either use MySQL with a real JDBC driver (recommended) or use Access syntax.
    That said, creating databases and tables using Java is a bad idea. The database and table must be already there. With Java you just do the usual table operations like select, insert, update and delete. Nothing more is needed.

  • How to create index not unique at the time of the CREATE TABLE

    Hi,
    I am trying to find out how in Oracle create secondary indexes that can accept duplicated into the CREATE TABLE statement, without have to execute a CREATE INDEX separately.
    As far I can see the only syntax accepted by Oracle 9i to create more than one index at the time of the table creation is:
    CREATE TABLE test_tab (x INTEGER, y INTEGER, z INTEGER PRIMARY KEY(x,y), UNIQUE(z))
    But, in my case I need to have the unicity only for the primary key, but not for the second index, that I would like to have not unique.
    How to do that inside of the CREATE TABLE statement?
    Any help?
    Thanks a lot in advance.

    To create an index automatically (not constraint related) , you will need to have an 'event' trigger on the schema that will (IE: detecting a table create/drop matching ARCHIVE_%) , generate the appropriate SQL required (create index sql) and pass THAT to a DBMS_JOB.
    Make sure you have job queue's enabled.
    This was the ONLY way that I could re-create a view automatically as new tables were created that matched a criteria IE ARCHIVE_JAN06, ARCHIVE_FEB06 etc.
    The application's "archiving" method created and was thus aware of these tables and permitted searching within 'archived' data, but 3rd party reporting applications needed to see a view encompassing all data, regardless of the tables involved. The view automatically created was a 'union_all' of all tables concerned.

  • Creating spatial index on spatial table

    Hi there. Just a quick query on creating spatial indexes on spatial tables. I have a table called System_Sessions which has the following four fields and types:
    USER_ID NUMBER(10)
    SESSION_ID NUMBER(10)
    SESSION_BOUNDARY MDSYS.SDO_GEOMETRY (polygon)
    START_POINT MDSYS.SDO_GEOMETRY (point)
    I am inserting one row per user session into this table. I also need to retrieve the session ids of previous sessions involving a particular user based on the session's start point. The query i am running is an sdo_within_distance query which looks as follows:
    Select session_id from joeweaker.system_sessions where user_id = 1003 and SDO_WITHIN_DISTANCE(start_point,
    (MDSYS.SDO_GEOMETRY(2001, 8265, MDSYS.SDO_POINT_TYPE
    (-105.0,40.0, NULL),NULL, NULL)), 'DISTANCE = 10000')='TRUE';
    However I encounter the following error whenever I attempt to execute this query:
    ORA-13226: interface not supported without a spatial index
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 8
    ORA-06512: at "MDSYS.SDO_3GL", line 255
    I know I haven't built the spatial index on the table so I was hoping that somebody might show me how to do this. Thnaks a lot, Joe

    Thnaks a lot Dan for the prompt reply. I have done as you advised and everything appears to be fine. However I have a second table called Session_Interest_Areas which appears as follows:
    USER_ID----NUMBER(10)
    SESSION_ID----NUMBER(10)
    AREA_ID----NUMBER(10)
    AREA_BOUNDARY----MDSYS.SDO_GEOMETRY
    I inserted the necessary detail into the user_sdo_geom_metadata table and then attempted to create the index as follows (exactly the same format as my other spatial tables:
    create index session_interest_areas_idx on
    session_interest_areas (area_boundary)
    indextype is mdsys.spatial_index;
    When I execute this query I get the following stream of error messages:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-13249: internal error in Spatial index: [mdidxrbd]
    ORA-13249: Error in Spatial index: index build failed
    ORA-13249: Error in spatial index: [mdrcrtxfergm]
    ORA-13249: Error in spatial index: [mdpridxtxfergm]
    ORA-13200: internal error [ROWID:AAAHocAAJAAAAC8AAA] in spatial indexing.
    ORA-13206: internal error [] while creating the spatial index
    ORA-13373: Element of type Extent is not supported for Geodetic data
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 7
    ORA-06512: at line 1
    Why does this give me an error when the same approach worked fine for my other spatial tables? Is it something to do with the SRID? Also the index appears to have been created so I presume it has been created incorrectly. Thanks for your time, Joe

  • Cannot create text index in partition table on Oracle 10g

    I try to create context index in a table with 15 millions records. The table is divided 5 partitions and each patition has 3 millions records. When I create the context index in the table, the same error always arised. The follow are my work:
    --First create my own lexer
    begin
    ctx_ddl.createperference('my_chinese_lexer','chinese_lexer');
    end;
    --Second create index
    create index idx_part_text3 on tb_test_part(text3)
    indextype is ctxsys.context local (
    partition p1_ix,
    partition p2_ix,
    partition p3_ix ,
    partition p4_ix,
    partition p5_ix)
    parameters('lexer my_chinese_lexer') parallel;
    --error message
    create index idx_part_text3 on tb_test_part(text3)
    Error in 1 line:
    ORA-12801: Parellel Query Server P000 send error signal
    ORA-29855: Error on execute ODCIINDEXCREATE program
    ORA-06510: PL/SQL: User Defined Error
    ORA-06512: In "CTXSYS.DRIDISP", line 244
    ORA-04030: Try to alloc 65548 Bytes (CTX PRM heap,draccbx:message buffer) Out of memory
    ORA-06512: In "CTXSYS.DRIPARX", line 10
    ORA-06512: In "CTXSYS.TEXTINDEXMETHODS", line 359
    ORA-04030: Try to alloc 65548 Bytes (CTX PRM heap,draccbx:message buffer) Out of memory
    ORA-06512: In "CTXSYS.DRUE", line 191
    ORA-06512: In "CTXSYS.DRUE", line 49
    ORA-06512: In "CTXSYS.DRUE", line 24
    ORA-06512: In "CTXSYS.DRUE", line 186
    ORA-06512: In "CTXSYS.DRVDDL", line 682
    ORA-04030: Try to alloc 65548 Bytes (CTX PRM heap,draccbx:message buffer) Out of memory
    ORA-04030: Try to alloc 65548 Bytes (CTX PRM heap,draccbx:message buffer) Out of memory
    ORA-06512: In "CTXSYS.DRUE", line 191
    ORA-06512: In "CTXSYS.DRUE", line 49
    ORA-06512: In "CTXSYS.DRUE", line 24
    ORA-06512: In "CTXSYS.DRVDDL", line 452
    ORA-06510: PL/SQL: User Defined Error
    BTW:
    My oracle 10g run on linux AS3 box with 4xP4 and 6G Mem.
    I set pga_aggregate_target=2200M, and at the beginning of creating index, the max pga alloced is about 1100M, but when one patition finished, the error arised and the max pga alloced suddenly reached 3500M. So in every times, the index status is always like below:
    P1_ix usable
    P2_ix Inprogress
    P3_ix Inprogress
    P4_ix Inprogress
    P5_ix Inprogress
    Thx for any help!

    Try to increase LARGE_POOL_SIZE.
    PGA_AGGREGATE_TARGET is not only parameter that can meddle in parallel execution.
    Looks like parallel execution parameters is not correctly set. Check it all, including PARALLEL_EXECUTION_MESSAGE_SIZE.

  • Do the execution time of the insert command depend upon the no the indexes

    hi,
    Do the execution time of the insert,update and delete command depend upon the no the indexes created for a table......
    Edited by: [email protected] on Mar 4, 2009 3:02 AM

    sure,..
    An index is a structure which contains entries pointing to the actual data in the table.
    When you insert a record into a table, the data which should also be indexed is inserted in the index structure. This index data needs to be in a specific place, not just anywhere (as opposed to e.g. a heap table).
    So this might lead to an update and insert in the index structure.
    This is just to give you an idea. More on the subject in Tom Kyte's Expert Oracle Database Architecture and of course Oracle's documentation.

  • How to create  table level index.

    Hi All,
           I have written a program for c-form tracking , where i used purchasing tables like EKBE , EKKO and accounting tables , BSEG and BKPF.BSEG isa cluster table . it is taking execution time more at database level , so if i create a index on tables is it useful to increase the performance  if so please inform me how do i create index .
    please it is very urgent .

    Hi Shilpa,
    Creating the index will solve the purpose if your select statements are going to use that filed for which you are going to create the index.
    Instead of using the cluster table like Bseg try to find the alternative tables for your requirement, i think that will definitely improve the performance.
    Steps for creating the index are as follows
    Yo have to use trx SE11 into Dev system.
    Enter the database table name and press
    Display -> Indexes -> Create
    Enter index name.
    Choose Maintain logon language.
    Enter short description and index fields.
    Then press save and create the request to transport the index to QA and
    PRD.
    Then press activate.
    Regards,
    Viveks

  • Estimate time to enable all constraints and create all indexes

    Hi,
    To prepare a project to export/import for a whole database,
    How can I estimate time required to enable all constraints and create all indexes
    * Assume one full table scan per one FK constraint
    * Assume one full table scan plus one sort/merge operation per one index
    * Check it out whether we can use parallel DDL feature to speed up enabling of FK constraints
    how can I use core schema (which will be exp/imp) in the production db to get needed metric for the calcualtion?
    thanks
    Jerry

    There is no definative way to find the time it takes to enable a constraint / create a Index
    It toatally depends on the Size of the table / execution plan / resources available (In terms of CPU and Physical Memory ) /
    Amount of Temporary tablespace

Maybe you are looking for

  • How many times can a team member install Creative Cloud for teams ?

    How many times can a team member install Creative Cloud for teams ? Is it possible for one team member to install it for example on a portable mac and a desktop pc at the same time?

  • IWeb and Windows - it doesn't work?

    Just spent a whole evening putting together a website for my music project. All went well, with regular publish tests. This morning I booted up a PC and checked my creation within Explorer. Ouch! Only the text bits came out. All the photo images and

  • Xl spreadsheets too small to read...?

    just recently come fromt he dark side...and really liking this OS and pretty much everything on this macbook pro. however I still prefer to stick with xl and as such am trying to find out how to make the spreadsheets appear larger...without having to

  • Need Help with checking of 2 queries

    hi, I dunno how to check for query that needs 2 of the table component in order to display. I need to check for this: private void _init() throws Exception { weekly_datesDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{SessionB

  • Change to another app store

    Hi, i just moved to germany and would like to change to the german app store. How can I do that. Just changing the address does'nt help. I bought an app store card in germany but it ist not accepted. Does anyone know, what I need to do? Thanks