iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的区别
  • 500
分享到

_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的区别

2024-04-02 19:04:59 500人浏览 独家记忆
摘要

_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的这两个参数可以强制打开数据库,但是open后,最好导出,重建库,然后再导入。对这两个参数不

_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的这两个参数可以强制打开数据库,但是open后,最好导出,重建库,然后再导入。对这两个参数不是很了解,直到看到了Maclean的帖子,下面是帖子地址

_CORRUPTED_ROLLBACK_SEGMENTS隐藏参数

Http://www.askmaclean.com/arcHives/_corrupted_rollback_segments.html


_OFFLINE_ROLLBACK_SEGMENTS隐藏参数

http://www.askmaclean.com/archives/_offline_rollback_segments.html


我把内容放一份在下面

_CORRUPTED_ROLLBACK_SEGMENTS(corrupted undo segment list)隐藏参数所独有的功能:

在实例启动startup并open database的阶段_CORRUPTED_ROLLBACK_SEGMENTS所列出的undo segments(撤销段/回滚段)将不会被访问读取

所有指向这些被_CORRUPTED_ROLLBACK_SEGMENTS列出的undo segments的事务都被认为已经提交了commit,和这个undo segments已经被drop时类似

这将导致严重的逻辑讹误

如果数据字典上有活跃事务那么将更糟糕,数据字典逻辑讹误会造成数据库管理问题

如果bootstrap自举核心对象有活跃事务,那么将无法忽略错误ORA-00704: bootstrap process failure错误,导致无法强制打开数据库(见拙作oracle数据恢复:解决ORA-00600:[4000] ORA-00704: bootstrap process failure错误一例)

衷心地建议用_CORRUPTED_ROLLBACK_SEGMENTS这个参数打开数据库后导出数据并重建数据库,这个参数使用的后遗症可能很顽固

Oracle公司内部有叫做TXChecker的工具可以检查问题事务


_OFFLINE_ROLLBACK_SEGMENTS(offline undo segment list)隐藏参数(hidden parameter)的独有作用:

在实例startup启动并open database的阶段仍将读取_OFFLINE_ROLLBACK_SEGMENTS所列出的Undo segments(撤销段/回滚段),若访问这些undo segments出现了问题则将在alert.log和其他TRACE中体现出来,但不影响实际的startup进程

若查询数据块发现活跃的事务,并ITL指向对应的undo segments则:

若读取undo segments的transaction table事务表发现事务已提交则做数据块的清除

若读取发现事务仍活动未commit,则生成一个CR块拷贝

若读取该undo segments存在问题(可能是corrupted讹误,可能是missed丢失)则产生一个错误并写出到alert.log,查询将异常终止

若DML更新相关的数据块会导致服务进程为了恢复活跃事务而进入死循环消耗大量CPU,解决方法是通过可以进行的查询工作重建相关表


_offline_rollback_segments 和 _corrupted_rollback_segments 均会造成的实例行为变化:

  • 以上2个参数所列出的Undo Segments(撤销段/回滚段)将不会被在线使用online

  • 在UNDO$数据字典基表中将体现为OFFLINE的记录

  • 在实例instance的生命周期中将不会再给新的事务分配使用

  • 参数所列出的Undo Segments列表上的活跃事务active transaction将即不被回滚亦不被标记为dead以便SMON去回滚(了解你所不知道的SMON功能(五):Recover Dead transaction)


您可能感兴趣的文档:

--结束END--

本文标题: _OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的区别

本文链接: https://www.lsjlt.com/news/39620.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • LinkedList和ArrayList的区别、Vector和ArrayList的区别
      LinkedList和ArrayList的区别  继承类和实现接口上来讲  他们都实现了List接口下的方法,他们都允许重复,允许null,并且有序的集合。  LinkedList实现了Deque接口。  底层实现上来讲  ArrayL...
    99+
    2023-06-02
  • Mybatis——#{}和${}的区别
    在使用mybatis的时候我们会使用到#{}和${}这两个符号来为sql语句传参数,那么这两者有什么区别呢? #{}是预编译处理,是占位符,${}是字符串替换,是拼接符 Mybatis在处理#{}...
    99+
    2023-09-13
    mybatis java mysql
  • spring和springmvc的区别
    spring 是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(...
    99+
    2023-06-05
  • cshtml和html的区别
    cshtml和html的区别在Web开发中,我们可能会经常使用到两种不同的文件类型,即cshtml和html。这两种文件类型具有很大的相似性,但是他们之间还是有很大的区别的。本文将为大家介绍cshtml和html的区别。文件类型CSHTML...
    99+
    2023-05-14
  • python中=和==的区别
    python中“=”表示的是赋值,是将某一数值赋给某个变量,且无返回值;而“==”表示的是判断两个数据是否相等,其返回值为True或False。实例:a = 33 == 4print(a)输出结果为:3false...
    99+
    2024-04-02
  • python2和python3的区别
    1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和×××操作上可 以取得很好的优化结果。 Py3.1性能比Py2.5慢15%,还有很大的提升空间。 2...
    99+
    2023-01-31
    区别
  • pip和pip3的区别
    一、Python版本的区别 pip:pip是Python 2版本的包管理工具,它用于安装和管理Python 2版本的软件包。 pip3:pip3是Python 3版本的包管理工具,它用于安装和管理Python 3版本的软...
    99+
    2023-10-29
    区别 pip
  • oem和odm的区别
    1、概念不同 oem:OEM(Original Entrusted Manufacture)的汉语意思是“原始设备制造商”,基本含义是定牌生产合作,俗称“代工”。 OEM,就是品牌生产者不直接生产产品,而是利用自己掌握的“关键的核心技术”负...
    99+
    2023-10-29
    区别 oem odm
  • c++中::和:的区别
    双冒号 (::) 用于命名空间作用域解析和类静态成员访问,单冒号 (:) 用于基类初始化和隐式类型转换。 C++ 中 :: 和 : 的区别 在 C++ 编程语言中,双冒号 (::) 和...
    99+
    2024-04-26
    c++ 作用域 隐式类型转换
  • c++中|和||的区别
    c++ 中 |(按位或)和 ||(逻辑或)之间的区别在于:1. 运算:| 进行逐位比较,而 || 进行逻辑比较。2. 优先级:|| 优先级高于 |。3. 用途:| 用于位掩码和移位运算,...
    99+
    2024-04-28
    c++
  • request.form()和request()的区别
    request.form()是Flask中的方法,用于获取表单数据。它返回一个MultiDict对象,可以通过键获取表单字段的值。r...
    99+
    2023-09-07
    区别
  • HashMap和Hashtable的区别
    相同点: HashMap和Hashtable都是java.util包下的类HashMap和Hashtable都实现了Map接口,存储方式都是key-value形式HashMap和Hashtable同时...
    99+
    2023-09-01
    java 哈希算法 开发语言
  • request.setAttribute()和session.setAttribute()的区别
    request.setAttribute()方法用于在HttpServletRequest对象中设置一个属性的值,该属性的作用范围是...
    99+
    2023-09-01
    区别
  • send和sendto的区别
    send()和sendto()函数都用于发送数据,但是它们有一些区别。send()函数是在一个已经建立的连接上发送数据。它需要一个套...
    99+
    2023-09-02
    send
  • 堆和栈的区别
    堆和栈的区别:1、内存分配方式不同,堆是由程序员手动分配和释放的,而栈是由操作系统自动分配和释放的;2、大小不同,栈的大小是固定的,而堆的大小是动态增长的;3、数据访问方式不同,在堆中,数据的访问是通过指针来实现的,而在栈中,数据的访问是通...
    99+
    2023-07-18
  • MySQL 和 MongoDB 的区别
    MySQL 是一个关系数据库。 MongoDB 是 NoSQL 数据库。以下是 MySQL 和 MongoDB 之间的重要区别。高级。号键MySQLMongoDB1拥有/开发者MySQL 归 Oracle 所有。MongoDB 由 Mong...
    99+
    2023-10-22
  • date和timestamp 的区别
    在数据库中,date和timestamp是两种不同的数据类型,用于存储日期和时间信息。1. date类型:date类型用于存储日期信...
    99+
    2023-09-23
    date
  • udp和tcp的区别
    UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)是两种常...
    99+
    2023-09-20
    udp
  • html 和 html5的区别
    随着互联网的普及和发展,Html(超文本标记语言)也逐渐从1.0版,2.0版,3.2版,4.01版到5版进行了不断的升级和改进。其中,最新版本的Html5也逐渐成为网络世界中的新宠。那么,Html和Html5之间到底有哪些区别呢?下面我们来...
    99+
    2023-05-21
  • jquery3.0和2.0的区别
    随着前端技术的不断发展,jQuery成为了绝大多数Web开发人员的首选框架。当前,jQuery的最新版本为3.0,它和之前的版本之间有着一些重大的区别和改变。因此,本文将详细介绍jQuery 3.0和2.0之间的区别及其对开发者的影响。jQ...
    99+
    2023-05-23
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作