Sunday, 15 August 2010

plsql - Oracle How to Avoid writes to UNDO / REDO log -


I have Oracle PL / SQL script. It processes approximately 51 million registers, and results from 5 different tables Writes.

The problem is that I left the process last night, and apparently there was an overflow in the UNDO log.

Specifically, we are not interested in rollback this script, if it fails, then we can run it again.

Is there any way to optimize the use of undo / re-logs? Avoid writing them or at least they write?

As far as I understand, in addition to setting up the NOLOGGING attribute, using append, output tables will help

any suggestions will be appreciated. thank you in advanced.

You should not take action on 51 million registers in only one batch. For example, try to split it into a small part of a few thousand. If you do a COMMIT after each small batch (which you do as you say you are not going to rollback) the redo / undo log will be used only for the latent parts and you will avoid an overflow .


No comments:

Post a Comment