专栏首页小黎子数据分析总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历

总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历

服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示Ora-01092例程终止。强行断开连接

查看跟踪日志:

Wed Jan 10 08:41:37 2018

Errors in file d:\Oracle\admin\l3bckdb\bdump\l3bckdbSMON.TRC:

ORA-00600: internal error code, arguments: [4193], [1836], [1844], [], [], [], [], []

Wed Jan 10 08:41:39 2018

Errors in file d:\Oracle\admin\l3bckdb\bdump\l3bckdbSNP1.TRC:

ORA-00600: internal error code, arguments: [4193], [1926], [1934], [], [], [], [], []

Recovery of Online Redo Log: Thread 1 Group 3 Seq 15 Reading mem 0

Mem# 0 errs 0: D:\ORACLE\ORADATA\L3BCKDB\REDO01.LOG

Wed Jan 10 08:41:42 2018

Recovery of Online Redo Log: Thread 1 Group 3 Seq 15 Reading mem 0

Mem# 0 errs 0: D:\ORACLE\ORADATA\L3BCKDB\REDO01.LOG

Wed Jan 10 08:41:42 2018

SMON: terminating instance due to error 600

Instance terminated by SMON, pid = 2744

查找相关资料,发现RA-600[4913]错误的2个argument的含义, 该ORA-600[4913]属于内核undo事务模块

[1836] Undo record seq number

[1844] Redo record seq number

由于UNDO序列和REDO序列不一致引发错误。

解决办法:重建UNDO表空间,步骤如下:

C:/>set nls_lang=american_america.zhs16gbk

C:/>sqlplus "/ as sysdba"

SQL*Plus: Release 8.1.7.0.0 - Production on 星期三 1月 10 11:28:47 2018

(c) Copyright 2000 Oracle Corporation. All rights reserved.

连接到:

Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

With the Partitioning option

JServer Release 8.1.7.0.0 - Production

SQL> select file#,name from v$datafile where file#=2;

FILE# NAME

---------- ----------------------------------------

2 D:/ORACLE/ORADATA/BCCHECK/RBS01.DBF

SQL> shutdown immediate

ORA-01109: 数据库未打开。

已经卸载数据库。

ORACLE例程已关闭。

将init.ora文件中的ROLLBACK_SEGMENTS初始化参数设置注释后以Restricted模式MOUNT数据库。

#rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6 )

SQL> startup restrict mount

ORACLE例程已启动。

Total System Global Area 219895052 bytes

Fixed Size 70924 bytes

Variable Size 75116544 bytes

Database Buffers 144629760 bytes

Redo Buffers 77824 bytes

数据库装载完毕。

在线drop损坏的rbs数据文件,然后重试打开数据库

SQL> drop tablespace rbs including contents;

drop tablespace rbs including contents

*

ERROR 在行 1:

ORA-01548: active rollback segment 'RBS0' found, terminate dropping tablespace

-- 报错ORA-01548,表明有活动回滚段

SQL> select segment_name,tablespace_name,status from dba_rollback_segs;

SEGMENT_NAME TABLESPACE_NAME STATUS

------------------------------ ------------------------------ ----------------

SYSTEM SYSTEM ONLINE

RBS0 RBS NEEDS RECOVERY

RBS1 RBS NEEDS RECOVERY

RBS2 RBS NEEDS RECOVERY

RBS3 RBS NEEDS RECOVERY

RBS4 RBS NEEDS RECOVERY

RBS5 RBS NEEDS RECOVERY

RBS6 RBS NEEDS RECOVERY

已选择8 行

SQL> shutdown immediate

-- 正常关闭数据库加入隐含函数_corrupted_rollback_segments,修改参数文件加入隐含参数

_corrupted_rollback_segments=(RBS0,RBS1,RBS2,RBS3,RBS4,RBS5,RBS6)后以restricted模式打开数据库

SQL> startup restrict

SQL> select segment_name,tablespace_name,status from dba_rollback_segs;

SEGMENT_NAME TABLESPACE_NAME STATUS

------------------------------ ------------------------------ ----------------

SYSTEM SYSTEM ONLINE

RBS0 RBS NEEDS RECOVERY

RBS1 RBS NEEDS RECOVERY

RBS2 RBS NEEDS RECOVERY

RBS3 RBS NEEDS RECOVERY

RBS4 RBS NEEDS RECOVERY

RBS5 RBS NEEDS RECOVERY

RBS6 RBS NEEDS RECOVERY

已选择 8 行

SQL> drop tablespace rbs including contents;

drop tablespace rbs including contents

*

ERROR 在行 1:

ORA-01548: active rollback segment 'RBS0' found, terminate dropping tablespace

强制删除所需要的回滚段

删除包含损坏回滚段表空间后,并开始建立回滚段表空间

查询回滚段状态

正常关闭数据库,并将参数文件中的隐含参数_corrupted_rollback_segments注释,并将ROLLBACK_SEGMENTS加入所有的回滚段。

正常启动数据库

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 游戏多媒体引擎(GME)技术原理介绍

    游戏语音的处理有特定的门槛,除了采集、处理、编码、传输、解码、渲染等各个环节本身需要的技术能力和经验之外,还需要很强的工程实力,解决几千种机型的适配和音频兼容性...

    泛互联网行业产品团队
  • OCP-052考试题库汇总(61)-CUUG内部解答版

    In one of your databases,The database default tablespace is EXAMPLE.

    用户5892232
  • 【预约中】腾讯云GME之网络编解码

    游戏多媒体引擎(Game Multimedia Engine,GME)提供一站式语音解决方案。针对不同场景进行深度优化,覆盖游戏、社交、娱乐等多种泛互联网行业应...

    腾讯云大学
  • 【DB笔试面试556】在Oracle中,虚拟索引的作用有哪些?

    在数据库优化中,索引的重要性是不言而喻的。但是,在性能调整过程中,一个索引是否能被查询用到,在索引创建之前是无法确定的,而创建索引是一个代价比较高的操作,尤其是...

    小麦苗DBA宝典
  • 解析腾讯云游戏多媒体引擎GME技术方案

    在网络游戏中,无论是大逃杀、棋牌类、电子竞技类还是娱乐休闲类小游戏,玩家和玩家之间的互动和语音聊天都是一个必不可少的环节。作为一个通用的技术需求,如果由游戏厂商...

    腾讯云大学
  • ​SYSTEM和SYSAUX表空间存储的内容有哪些区别?若SYSAUX表空间占用过大则应该如何处理?

    今天小麦苗给大家分享的是SYSTEM和SYSAUX表空间存储的内容有哪些区别?若SYSAUX表空间占用过大则应该如何处理?。

    小麦苗DBA宝典
  • 面试官上来就问:Java 进程中有哪些组件会占用内存?

    不管是持久化的消息还是非持久化的消息都可以被写入到磁盘。持久化的消息在到达队列时就被写入到磁盘,并且如果可以,持久化的消息也会在内存中保存一份备份,这样可以提高...

    Java_老男孩
  • 【微机原理与汇编语言】实验三 码制转换实验

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    韩旭051
  • 模型驱动MDA-GME建模(1)

    GME是做学术研究的一个开源建模工具。如果要学会GME,我们需要大量的篇幅介绍才能完成这个学习过程。如果大家有兴趣,我可以在以后的文章中单独介绍。如果你有专研精...

    用户6336981

扫码关注云+社区

领取腾讯云代金券