Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Insert Performance question

Re: Insert Performance question

From: Juan Carlos Reyes Pacheco <jreyes_at_dazasoftware.com>
Date: Tue, 27 Jul 2004 15:49:58 -0400
Message-Id: <4106B1E6.000003.01536@CACHITOSS>


 Hi, Harvinder some ideas

0) incrase your table size to amount required.
1) could you use sql loader instad of insert?
2) if not try append and set to nologging mode and do a full backup after.
3) disable all: index, contrints (specially foreing constrains to this
table), triggers.
and enable after, you can enable constrains using novalidate if you know it s ok. and reindex  

Juan Carlos Reyes Pacheco
OCP
-------Original Message-------
 

From: oracle-l_at_freelists.org
Date: 07/27/04 15:45:43
To: oracle-l_at_freelists.org
Subject: Insert Performance question  

Hi,  

We are having insert performance problem and need some suggestions on tuning.=20
Overview of the scenario



In our application, one of the main components is insertion of about 2 million records into big usage table by selecting 1000 rows in a batch from 2nd table. In real scenario second table will be truncated after every 1000 records but we are simulating by storing 1M records in 2nd table and using bulk collect/forall selecting 1000 rows at a time and insert into 1st table.
Also we are doing the same test on SQL Server. With 2 sessions inserting 1M each by selecting from same table and inserting into 1st table inserts_rows_per_Second on SQL Server is 25000 whereas on Oracle is only 10000.
Tab1 is having about 80M rows, 1 primary key on 2 columns, 1 unique key on varbinary column, 2 1 column indexes. I checked with trace 10046, iostat, v$views and following are the waitstats:
Oracle is spending most of the time reading from the index tablespace(where all the 4 indexes are stored) and corresponding wait event is "db file sequential read"
2nd time consuming wait event is "log file sync" And then "read by other session" etc  

Configuration



Oracle 10g on Red hat linux 9. 2 14 disk 500G each raid 0 array and 1 34G scsi hard drive
Boot,swap,OS on 34 G drive
Index tablespace,system,redo logs on 1 raid array Tab1,tab2, rollback on 2nd raid array
Tab2 is IOT. Tablespace1 which stored data for tab1 and Index tablespace both are having 5 10G files each with uniform extent size of 16M. Database block size is 8k.
RAM on system is 2G and SGA size is 1.2G, data_buffer_cache having 1G Log buffer size is 4M, 3 Log files each having 2G size. Using AUTO UNDO and tabelspace size is 10G Database is in NOARCHIVING mode.
2 cpu's and cpu usage is about 30-55% for both sessions.=20  

What can be the possible options that we can try to speed up the insert performance?  

Thanks
--Harvinder

=20      



Please see the official ORACLE-L FAQ: http://www.orafaq.com

To unsubscribe send email to: oracle-l-request_at_freelists.org put 'unsubscribe' in the subject line.
--

Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html

-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request_at_freelists.org
put 'unsubscribe' in the subject line.
--

Archives are at http://www.freelists.org/archives/oracle-l/ FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
Received on Tue Jul 27 2004 - 14:51:53 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US