The information in this article applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.2
This problem can occur on any platform.
Symptoms
Undo tablespace continues to increase in size.
Cause
+ The undo tablespace has Autoextend On specified.
+ The Logic used by AUM is :
1) A new extent will be allocated from the undo tablespace.
2) If failed, try stealing an expired extent from another undo segment. This
involves shrinking from the other segment and adding to the current undo
segment.
3) If failed, try reuse an unexpired extent from the current undo segment.
4) If failed, try stealing an unexpired extent from another undo segment.
5) If all failed, report an "Out-Of-Space" error.
+ Current AUM segment extend algorithm will grow the segment before trying to
reuse expired extents of other segments. If it is an extensible undo tablespace,
the tablespace may continue to grow.
+ Though Ideally it should, perform auto extension of the undo tablespace only
after the stealing of expired extents but before stealing unexpired extents.
+ This problem is documented in Bug 2660394 which is fixed in 9.2.0.5
Fix
+ Use the following query to find if EXPIRED EXTENTS of other segments are used or not:
select sum(EXPSTEALCNT), sum(EXPBLKRELCNT), sum(EXPBLKREUCNT) from v$undostat;
A output of '0' for sum(EXPBLKREUCNT) confirms that expired extents of other segments are not used
+ Use following query to find out the HWM of all the undo segments:
select n.name,extents,rssize/(1024*1024) rssize_MB,
hwmsize/(1024*1024) hwmsize_MB
from v$rollstat s,v$rollname n
where s.usn = n.usn
/
+ You have 2 options to workaround / solve this problem:
1st ---> To workaround it
- Stop the autoextend on the tablespace
2nd ---> Apply the patchset 9.2.0.5.0 for a permanent solution.
Partager