了解你所不知道的SMON功能系列文章汇总:
SMON功能(一):清理临时段
SMON功能(二):合并空闲区间
SMON功能(三):清理obj$基表
SMON功能(四):维护col_usage$字典基表
SMON功能(五):Recover Dead transaction
SMON功能(六):Instance Recovery
SMON功能(七):清理IND$字典基表
SMON功能(八):Transaction Recover
SMON功能(九):维护MON_MODS$字典基表
SMON功能(十):维护SMON_SCN_TIME字典基表
SMON功能(十一):OFFLINE UNDO SEGMENT
SMON功能(十二):Shrink UNDO(rollback) SEGMENT
SMON的功能并不止于此,详细完整的功能列表:
-
实施local instance recovery
-
实施OPS/RAC instance recovery
-
服务于排序段sort segment申请
-
实施transaction recovery(rollback)
-
清理不再使用的临时段temporary segments
-
清理已经被aged out的游标所使用的临时表temporary tables
-
清理dead instance的临时表temporary tables
-
删除OBJ$基表上不再存在的对象记录
-
若index online rebuild失败,则负责清理ind$和indpart$
-
合并extents
-
在适当的时机收缩 rollback segment
-
在适当的实际offline rollback segment
-
恢复crash/instance recovery因datafile不可用(eg. offline)而跳过的dead transaction
-
恢复前台进程因为crash而造成的dead transaction
SMON的控制事件event列表:
-
event=’10061 trace name context forever, level 10’禁用SMON清理临时段(disable SMON from cleaning temp segments)
-
event=’10269 trace name context forever, level 10’来禁用SMON合并空闲区间(Don’t do coalesces of free space in SMON)
-
event=’10052 trace name context forever’来禁止SMON清理obj$基表
-
设置隐藏参数_column_tracking_level(column usage tracking),该参数默认为1即启用column使用情况跟踪。设置该参数为0,将禁用column tracking
-
events ‘10513 trace name context forever, level 2’;设置10513事件来临时禁止SMON恢复死事务,这在我们做某些异常恢复的时候显得异常有效,当然不建议在一个正常的生产环境中设置这个事件
-
event=’8105 trace name context forever’来禁止SMON清理IND$(Oracle event to turn off smon cleanup for online index build)
-
events ‘12500 trace name context forever, level 10’;可以在设置了12500事件后手动删除SMON_SCN_TIME上的记录,重启实例后SMON会继续正常更新SMON_SCN_TIME。
-
event=’10511 trace name context forever, level 1’来禁用SMON OFFLINE UNDO SEGS; 但是10511事件不会跳过”Fast Ramp Up”,而仅会限制SMON对UNDO SEGS产生的工作负载。 一旦设置了10511 event, 则所有已生成的 UNDO SEGS会始终保持ONLINE状态。
-
event=’10512 trace name context forever,level 1′ 禁用SMON shrink rollback segment
-
event=’10510 trace name context forever,level 1′ 禁用检测以便offline rollback
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22990797/viewspace-2128782/
,如需转载,请注明出处,否则将追究法律责任。