You tell oracle "i'd like to keep undo for a certain period of time, say 1 hour"what that means is, if you ran a transaction at noon -- it generated some undo (rollback data). if undo retention was set to an hour, Oracle will try to retain that undo -- not overwrite it -- for at least an hour. It might overwrite it -- if you are pressured for space, but it will try to keep it for an houur (in 10g, you can force it to keep it -- by making transactions that want to overwrite fail instead of overwriting it)
1) setting a high undo retention means you are saying to Oracle -- PLEASE try to keep this undo for N hours. Oracle will extend undo segments as much as possible as it needs space in order to accomodate that request. If it cannot extend anymore (undo tablespace is full and no autoextend is possible on the datafiles) -- it will prematurely expire the oldest undo data in that segment -- meaning the undo retention request you made will not be observed.
select max(maxquerylen) from v$undostat;
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment