监控和管理Oracle UNDO表空间的使用
http://blog.itpub.net/23135684/viewspace-1065601/
undo_management=AUTO
undo_retention=900
undo_tablespace=UNDOTBS1
_smu_debug_mode=33554432
_undo_autotune=TRUE
1.对于固定UNDO表空间,
将会通过表空间的剩余空间来最大限度保留UNDO信息。如果FIXED UNDO表空间没有对保留时间作GUARANTEE(alter tablespace xxx retention guarantee;),则undo_retention参数将不会起作用。
状态为EXPIRED的EXTENT就能被利用,这样可以一定程度控制UNDO表空间的大小,但这样会增加ORA-01555报错和UNDO空间不足报错的风险
2.自动扩展的undo表空间
使用 undo_retention ,控制
如果UNDO表空间是一个自动扩展的表空间,那么很有可能UNDO表空间状态为EXPIRED的EXTENT不会被使用(这是为了减少报ORA-01555错误的几率),这将导致UNDO表空间变得很大
undo表空间的大小有三个影响因素:
1)undo_retention
2)每秒需要的undo数据块:v$undostat (select max(undoblks/((end_time-begin_time)*24*3600)) from v$undostat; )
3)缺省块大小 db_block_size
计算公式:undo size=db_block_size*undo_retention*max(undoblks/((end_time-begin_time)*24*3600))
计算方法2(直方图):DBA_HIST_UNDOSTAT.tuned_undoretention
select to_char(begin_time,'DD-MON-RR HH24:MI') begin_time,to_char(end_time,'DD-MON-RR HH24:MI') end_time,tuned_undoretention from v$undostat order by end_time;
ALTER DATABASE DATAFILE '/home/oracle/oradata/XXXX/undotbs01.dbf' RESIZE 1024M
ALTER DATABASE DATAFILE '/home/oracle/oradata/XXXX/undotbs01.dbf' AUTOEXTEND OFF
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/807718/viewspace-2136286/
,如需转载,请注明出处,否则将追究法律责任。