Performance Tuning in Oracle 10g during Migration - Heavy Insert Optimization [message #314135] |
Tue, 15 April 2008 19:35 |
ajexpert
Messages: 16 Registered: April 2008 Location: U.S.
|
Junior Member |
|
|
We are performing Oracle Migration on 10g
Some of the tables contain a huge data e.g. 7 million records to be migrated.
The table structure of Source Database is different from the Target Database (Where we are doing the migration).
So we have made a use of temporary tables to collect the data from different tables using joins and populate the main table using INSERT INTO tableA SELECT * FROM tableZ
Now the problem statement.
Some of the queries take infinite time and data doesnt get inserted into the main tables. I have seen the explain plan and didnt find anything unusual. The same query works fine when we use date time stamp and restrict the data.
What parameters do we have to take care ? Is there any configuration needed on Oracle Server side ? If yes which parameters?
|
|
|
|
|
|
|
|
Re: Performance Tuning in Oracle 10g during Migration - Heavy Insert Optimization [message #314160 is a reply to message #314157] |
Tue, 15 April 2008 22:14 |
ajexpert
Messages: 16 Registered: April 2008 Location: U.S.
|
Junior Member |
|
|
How do I check Wait Events?
Also I found that there is something called Segment tuning.
Can you tell me if We need to increase server parameters?
I can give you the SGA info
NAME BYTES RESIZEABLE
-------------------------------- ---------- ----------
Fixed SGA Size 791660 No
Redo Buffers 1048576 No
Buffer Cache Size 528482304 Yes
Shared Pool Size 1048576000 Yes
Large Pool Size 83886080 Yes
Java Pool Size 209715200 Yes
Streams Pool Size 0 Yes
Granule Size 8388608 No
Maximum SGA Size 1879048192 No
Startup overhead in Shared Pool 33554432 No
Free SGA Memory Available 0
|
|
|
|
|
|
|
|
|
|
Re: Performance Tuning in Oracle 10g during Migration - Heavy Insert Optimization [message #314254 is a reply to message #314185] |
Wed, 16 April 2008 03:14 |
rleishman
Messages: 3728 Registered: October 2005 Location: Melbourne, Australia
|
Senior Member |
|
|
Hey, those code tags look great. Was that a joke? It went over my head if it was.
Just to shake things up a bit, could you try them like it suggests in the Posting Guidelines - that way they'll preserve the formatting of your code.
Did you consider and reject the idea of capturing the wait events? If so, you might reconsider; asking the database is a great way to find out what it's doing; and finding out what it's doing is a great first step to make it do it faster.
Ross Leishman
|
|
|
|
|
|
|
Re: Performance Tuning in Oracle 10g during Migration - Heavy Insert Optimization [message #314463 is a reply to message #314135] |
Wed, 16 April 2008 15:49 |
coleing
Messages: 213 Registered: February 2008
|
Senior Member |
|
|
Ok,
INSERT /*+ APPEND */ INTO tableA (col1, col2, col3)
SELECT col1, col2, col3 from tableB
This SQL cannot be tuned any further.
The only other further SQL tuning you have is partitioned target and source table, and you would insert with parallel hints option and parallel dml enabled.
You are down to tuning the database only.
checking target is properly sized, initrans, pctfree etc on both source and target. Disabling indexes during load and rebuilding them afterwards. target table set to nologging.
|
|
|
|
|
|
|
|
|
|
|