Zhu: Is that table partitioned? I would go for HASH partitioning as you need to throw the incoming rows in to multiple blocks and this will reduce the contention for 'concurrnet write' BBW. Can you run the following query and identify which functions cause the buffer busy waits? select wh.kcbwhdes "module", sw.why0 "calls", sw.why2 "waits", sw.other_wait "caused waits" from x$kcbwh wh, x$kcbsw sw where wh.indx = sw.indx and sw.other_wait > 0 order by sw.other_wait; Have a nice day !! ------------------------------------------------------------ Best Regards, K Gopalakrishnan, Co-Author: Oracle Wait Interface: Oracle Press 2004. http://www.amazon.com/exec/obidos/tg/detail/-/007222729X/ -- //www.freelists.org/webpage/oracle-l