UNDO (both manual in 8i/9i/10g and auto in 9i/10g) entries are not before images of the blocks. They are actually change vectors containing only enough information to undo the change. For example, for an insert the undo vector is /*basically*/ just the row address and a delete indicator. There are index entries and block header entries (still not complete block images) as well.
For more details, you can read "Automatic Undo Internals" at http://www.optimaldba.com/papers/AutomaticUndoInternals.pdf
Regards, Daniel Fink NEW pop.tiscali.de wrote:
Hi all, I think the retention setting is a red herring here. I *think* its a real basic issue. Someone posted the suggestion to use the append hint. I reckon this should work. You need to remember that for an insert the UNDO is a copy of the before image and if your inserting into 30G of blocks that have *some space* free, then all of these blocks need to be saved as UNDO. Maybe your PCTFREE settings need looking at. Has a lot of data been deleted - this would leave a lot of free blocks that will end up in the UNDO. Perhaps you can rebuild the table before the insert ...or even truncate it? Just ideas, hope they help Cheers Tony