消耗报表数据库呈现了流动变乱的回滚段破损(三)

 根源:网海拾贝




在我的案例中,因为回滚段的破损工具和破损程度我已经都摸清除了,因而,没有设置 event = 10015 或许10046等等,而是检验考试规复。
规复的进程首要是:
从温文型的到顽强型的,逐渐检验考试:
1, 找到有问题的工具,备份并检验考试重建,要是失败担当下一措施
2, 重启数据库(clear shutdown and startup),要是问题不克不及被系统自行化解,那么担当下一措施
3, 使用 event="10015 trace name context forever, level 10" 找到破损回滚段的和工具等等的一些信息
4, 使用 _smu_debug_mode=4并使用manual的编制经管UNDO,即将回滚段设置为手工的debug形式,可以在启动数据库后检验考试删除阿谁回滚段试试看运限
5, 上述都不行(根据我的履历,泛泛有一半的消耗情况使用前3步都不行,不外也要视损害的详细情况而定了)
  那么便是用 _offline_rollback_segments = ('List of rollback segments') ,启动数据库,然后删除那么破损的回滚段,侧重建阿谁undo空间。
  这么做泛泛可以处置处分大局部问题,并且不需求重建数据库。
  属意,在多数情况下依然会呈现使用这个参数招致纷譬喻致情况,需求重建数据库,首要是和数据库启动时后的一些形状有关。
6, 上述都不行,就使用_corrupted_rollback_segments ,当然大多数情况下还需求加上“_allow_resetlogs_corruption”
  即,既不要当前的undo空间,也不要当前的redo(他们都被标识表记标帜为破损)。
  可是多么以来,数据库是需求重建的,不然使用中也是会泛泛会呈现不行预期的错误。
  
  看看这些参数的界说:

lunar@TSMISC02> select KSPPDESC from X $KSPPI where ksppinm='_corrupted_rollback_segments';

KSPPDESC
----------------------------------------------------------------
corrupted undo segment list

Elapsed: 00:00:00.03
lunar@TSMISC02> select KSPPDESC from X $KSPPI where ksppinm='_allow_resetlogs_corruption';

KSPPDESC
----------------------------------------------------------------
allow resetlogs even if it will cause corruption

Elapsed: 00:00:00.11
SQL> select KSPPDESC from X $KSPPI where ksppinm='_smu_debug_mode';

KSPPDESC
----------------------------------------------------------------
<debug-flag> - set debug event for testing SMU operations

SQL> select KSPPDESC from X $KSPPI where ksppinm='_offline_rollback_segments';

KSPPDESC
----------------------------------------------------------------
offline undo segment list

SQL>




版权声明: 原创作品,应允转载,转载时请务必以超链接形式标明文章 原始因由 、作者信息和本声明。不然将追查功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1976289.html