ITPub博客

首页 > 数据库 > Oracle > 监控和管理Oracle UNDO表空间的使用

监控和管理Oracle UNDO表空间的使用

Oracle 作者:steven_hua 时间:2017-03-29 17:40:31 0 删除 编辑

监控和管理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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-16

  • 博文量
    117
  • 访问量
    190323