Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Need Performance advice

RE: Need Performance advice

From: Graeme Farmer <>
Date: Tue, 22 Jun 2004 09:18:20 +1000
Message-ID: <>


Try tracing just the session that is performing the transaction and not using STATSPACK as you are picking up irrelevant stats.

eg DBWR is waiting on db file parallel write and LGWR is waiting on log file parallel write, however there is no evidence of any session being impacted by these (ie no free buffer waits on DBWR or no log buffer space/log file sync waits on LGWR).

If you can perform a 10046 trace then re-post with more accurate data then someone may be able to provide some help; as it stands we may only be able to help tune something that isn't relevant to your problem.


-----Original Message-----

From: Harvinder Singh [] Sent: Tuesday, 22 June 2004 8:26 AM
Subject: Need Performance advice

We are testing an application prototype and inserting 1000 rows from 1 table and populating into 2nd table in a loop and inserting 1M rows.=20 2nd table have primary key on 2 column, 1 column unique key and 2 non-unique indexes each having 6 columns.

We were seeing tps of only about 5000 and after changing the reading table as IOT now it went up to between 6000-12000. I have also made the following changes since the first test:

  1. Increase the SGA to 1GB from 170 Mb(db block buffers change from 25MB to 950MB) (Total RAM on machine 2GB)
  2. Change the log file size to 1 GB each (3 log groups) and put on separate drive
  3. Change the 1st table to IOT
  4. Increase the Rollback and tempdb datafile to 10GB
  5. Tables and indexes on separate tablespaces (I doubt if this will help as all are on same raid 5 disk sets )
  6. using auto segment for tables and tried all auto, uniform extents for indexes

Now we are seeing following waits:
Top 5 Timed Events

% Total
Event                                               Waits    Time (s)
Call Time
-------------------------------------------- ------------ -----------

db file parallel write                              8,215         103
db file sequential read                             1,877          96
CPU time                                                           61
class slave wait                                       10          51
log file parallel write                            12,697          22

Also it is worth noting that maximum of the read and write times are on 2 6 column non-clustered indexes. Why it is spending so much time on read for non-clustered indexes?
How can we reduce the waiting for db file parallel write and db file sequential reads?
Let me know what else I can try to improve the inserts performance.



Please see the official ORACLE-L FAQ:

To unsubscribe send email to: put 'unsubscribe' in the subject line.

Archives are at FAQ is at


This transmission is for the intended addressee only and is confidential information. If you have received this transmission in error, please notify the sender and delete the transmission. The contents of this e-mail are the opinion of the writer only and are not endorsed by the Mincom Limited unless expressly stated otherwise.

Please see the official ORACLE-L FAQ:

To unsubscribe send email to: put 'unsubscribe' in the subject line.

Archives are at FAQ is at
Received on Mon Jun 21 2004 - 18:15:48 CDT

Original text of this message