Re: "Preparing & Executing Massive DML Operations e.g. updates."

From: Tim Gorman <tim_at_evdbt.com>
Date: Mon, 19 Aug 2013 09:37:01 -0600
Message-ID: <52123B9D.8090304_at_evdbt.com>



How about not running MERGE, UPDATE, or DELETE commands at all, and instead converting them into faster and more scalable INSERT /*+ APPEND PARALLEL */ commands, using table renames or partition-management commands (such as EXCHANGE PARTITION) to "publish" new data from old?

http://evdbt.com/videos/

Hope this helps...

Thanks!

On 8/19/2013 9:18 AM, fmh wrote:
> I usually prepare for such ops ...
> - Instance prep: disable archive logs, use no logging ,... etc.
> - Session prep: enable PQ, PDML, ...etc
> - SQL Prep: rewrite it e.g. updateble inline views vs. correlated queries.
> - Use BULK SQL if need to.
> I'm running an update on a partitioned table of 44M rows. It has been 3
> days now and there seems end is not near.
>
> 1) The update session is the only FG session in the db. v$session_longops
> show the query involved but all rows have 'sofar=totalwork'. The view has
> not updated since 2 days ago. How else can progress be monitored?
>
> 2) I did enable PDML ,but on 10.2.0.3, we hit this bug. The workaround did
> not work to disable the recycle bin. This was a major set back. Bug 4896424
> - Parallel DML can fail with ORA-60 (Doc ID 4896424.8)
>
>
> If you've had any experience with such operations, please provide your
> comments/feedback to the above inquiries.

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Aug 19 2013 - 17:37:01 CEST

Original text of this message