Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Bulk Collect or Cursor for loop

RoopsMar 3 2011 — edited Mar 10 2011
Hello,
I have developed an ETL package using pl/sql. This is to ETL from MySQL to Oracle 10g ( 10.2.0.4)

The package is deployed, but performance is not upto the mark. Here are my questions.

I am using a UNION ALL query to create a CURSOR FOR LOOP, so each iteration of cursor will process the record fetched from MySQL. I am using dynamic sql inside loop. I am able to process only 50,000 records in 5 min. But my target is 100,000 records in 5 min or 1 million in one hour, becuase the system is highly transactional, so each changes in MySQL should reflect in Oracle within 15min.

1) If I use Bulk Collect instead of curosr, will that going to boost performance ?. Except this most of the tuning considerations are done for this system.
2) Commit each records inside the loop is good or commit outside the loop is better ?

Systm Configuration:

SGA: 20Gig
CPU: 2.2ghz * 8

Appreciate your suggestions.

Thanks
Rupesh
www.orachat.com
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 7 2011
Added on Mar 3 2011
11 comments
1,093 views