运维经验:回滚段异常的特殊救急方法

  • 时间:
  • 浏览:1
  • 来源:神彩UU直播现场_彩神UU直播现场官方

隐藏参数_corrupted_rollback_segments:当事务槽处在开启请况(ITL Open)的Block与_corrupted_rollback_segments参数列表上的回滚段相关时,数据库在重新打开过程中不要再读取_corrupted_rollback_segments列表上的回滚段事务表信息,从前就可以 利用你这个 型态越过系统对回滚段的检查来尝试启动数据库。

三、回滚段隐藏参数与回滚段删除

Oracle 回滚段隐藏参数用于回滚段异常意味数据库无法正常工作的特殊恢复场景,主要包括:数据库打开、一致读和块清除、回滚段删除。

一、回滚段隐藏参数与数据库打开

2、当介质恢复可以 处里那些的疑问时,可以 考虑使用隐藏参数来进行特殊恢复;

3、特殊恢复作为最后的恢复手段,可以 对特殊恢复带来的风险、特殊恢复时间以及恢复失败回退机制等要点进行综合评估,尽机会减少数据的丢失。



NOTE

参数_corrupted_rollback_segments,如下所示:

2、事务未提交(Active),或多或少Session读取该Block时,则可以 应用Undo Record来重构CR Copy。

尽管offline_rollback_segments列表上的回滚段被Offline,Oracle仍然会读取那些回滚段来检查事务请况,在回滚段Online后应用Undo Record实现回滚。机会offline_rollback_segments列表中处在与事务相关的回滚段坏块,可以 Oracle回滚操作就会失败

1、_offline_rollback_segments列表中的回滚段头事务表在数据库打开过程中可以 被读取;



8、正常启动数据库,并重建spfile:

2、隐藏参数_corrupted_rollback_segments在init.ora初始化参数文件中的格式如下:

1、数据库不要再检查回滚段头事务表信息,一起,回滚段头的活跃事务什么都 会被标记为“DEAD”机会“已回滚”请况;

至此,基于隐藏参数的回滚段特殊恢复就告一段落。

回滚段r01、r02及r03为可以 在线使用(onffline)的回滚段,r4为强制异常的回滚段。

场景

6、使用以下命令,关闭数据库:

隐藏参数_offline_rollback_segments与_corrupted_rollback_segments的最大区别是:

实战

对于一致性读与块清除而言,隐藏参数_offline_rollback_segments与_corrupted_rollback_segments在特殊恢复中的作用是不同的。

二、回滚段隐藏参数与一致性读和块清除

跟着恩墨一起读好书运动刚开始啦!咱们作为DBA不仅要外部打扮买车人,更要从外部武装。近期,小编将分享冷菠老师的《Oracle高性能自动化运维》一次责精选章节分享给亲戚亲戚亲们。机会你对内容很感兴趣,还是要去买一本比较好哦。

NOTE

一般请况下,只可以 将异常回滚段上加到_corrupted_rollback_segments列表中即可,机会回滚段表空间中所有回滚段都异常,则可以 将所有异常的回滚段都上加到_corrupted_rollback_segments列表中。

NOTE

当删除异常的回滚段表空间完成后,_corrupted_rollback_segment列表中可以 与活动事务相关的回滚段处在次责数据丢失。从前就保证了数据库正常启动的一起,也尽机会地减少了数据的丢失。

4、在启动成功的数据中创建新的回滚段表空间,语法如下:

2、回滚段处在离线(Offline)请况;

2、当_corrupted_rollback_segments列表中的回滚段被删除后,系统会将“DEAD”请况的事务当作机会被提交,进行延迟块清除。

冷菠,资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队管理以及培训经验。擅长数据库备份恢复、数据库性能诊断优化以及数据库自动化运维等。目前致力于大数据、智能一体化、开源云计算等领域的佳实践探索。

当处在活动事务的回滚段表空间跳出异常时,可以 通过以下步骤进行特殊恢复。

机会在ITL被清除前,标记为“corrupted”请况的回滚段被Oracle重用(从_corrupted_rollback_segmens参数列表中移除),这时就可以 回滚后后机会提交事务,意味Block逻辑异常。为了处里那些那些的疑问,并且 建议在使用隐藏参数_corrupted_rollback_segments后,将参数列表中的回滚段删除。

3、回滚段可以 分配给新事务使用。



其中:

1、隐藏参数_offline_rollback_segments在init.ora初始化参数文件中的格式如下:

在一般请况下,Oracle 回滚段是可以 被删除(Drop)的,这是机会回滚段中所含了活动事务(Active)信息,保存了事务恢复的回滚记录。为了保护数据的一致性,Oracle不允许删除有活动事务的回滚段。

2、_corrupted_rollback_segments列表中的回滚段事务表在数据库打开过程中不可以 被读取,Oracle会将_corrupted_rollback_segments列表中的回滚段当作机会“Drop”处里。从前的好处什么都 可以 在回滚段异常时,将异常回滚段上加到_corrupted_rollback_segments参数列表中,越过系统检查,从而打开数据库。

当Oracle回滚段异常时,机会影响CR重构、事务锁定、块清除等与回滚段紧密相关的数据库功能,甚至机会会意味数据库无法正常启动。

1、创建新的init.ora初始化参数文件(pfile),语法格式如下:

5、删除异常的回滚段表空间,使用以下命令:



NOTE

NOTE

隐藏参数比较危险,需慎重使用。

原文发布时间为:2017-09-13

本文作者: 冷菠

本文来自云栖社区媒体媒体合作伙伴“数据和云”,了解相关信息可以 关注“数据和云”微信公众号

NOTE

Oracle回滚段特殊恢复相关的隐藏参数主要有:

并且 ,在回滚段跳出异常后,可以 对回滚段进行(特殊)恢复,遵循以下原则:

在特殊请况下,将处在活动事务的回滚段上加到_corrupted_rollback_segments列表中,就可以 忽略回滚段保护机制。也什么都 说,在数据库启动过程中,处在_corrupted_rollback_segments列表中包所含活动事务的回滚段可以 被删除。辦法 什么都 将该回滚段上加到_corrupted_rollback_segments列表中。删除活动事务回滚段示类事下:

1、事务提交(Inactive),块清除;

隐藏参数

回滚段r01、r02及r03为可以 离线(offline)的回滚段。

参数_offline_rollback_segments,如下所示:



购买:https://item.jd.com/12128635.html





冷菠

3、使用修改后的init.ora初始化参数文件启动数据库:

7、修改init.ora初始化参数文件,重新配置新的回滚段表空间,如下所示:

隐藏参数_offline_rollback_segments:当事务槽处在开启请况(ITL Open)的Block与_offline_rollback_segments参数列表上的回滚段相关时,数据库在重新打开过程中可以 检查_offline_rollback_segments列表上的回滚段头事务表信息,获取事务的请况:

1、机会活跃事务可以 提交,机会跳出逻辑异常错误,可以 使用参数_corrupted_rollback_segments来越过系统检查,尝试启动数据库;

2、修改新init.ora初始化参数文件,将异常回滚段表空间的回滚段上加_corrupted_rollback_segments参数列表中,如下所示:

在使用_corrupted_rollback_segments参数后,数据库运行机会比较正常,并且 跳出那些的疑问的潜在风险将增大;删除_corrupted_rollback_segments列表中包所含活动事务的回滚段时,处在逻辑错误的风险以及数据字典异常的风险,这机会将是一种灾难,并且 可以 慎用该参数;建议在大多数请况下保持数据库的正常启动,尽机会少地使用隐藏参数,规避风险。

NOTE

1、介质恢复(Media Recovery)是首要的恢复辦法 ,能保证数据恢复的一致性和全版性;

在数据库打开的过程中,处在_offline_rollback_segments/_corrupted_rollback_segments参数列表中的回滚段有以下特点:

在数据库启动过程中,可以 根据可以 使用open resetlogs的辦法 打开数据库(可以 次责数据丢失)。