.increasing undo retention is one method.
.array fetching out the table names (making the query run for a short time) is another.
.using gather schema stats is (easiest) another..
.From Oracle metalink, Oracle suggested to prevent ORA-01555 due to delayed block cleanout, you
can use select count(*) from table to force the block cleanout.
use operations that can bypass undo:
truncate
insert /*+ append */
disable indexes, rebuild afterwards
--------
More simply put:
o at the beginning of your transaction you removed a row from block #1.
o you commit - allowing the undo that protected this modification to be overwritten.
o you in fact DO overwrite that undo - as the rollback segment wraps around.
o later you need to REVISIT block #1, but you cannot as the undo you need has been overwritten BY
YOU
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment