服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示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加入所有的回滚段。

正常启动数据库

oracle8i ora 12500,总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历...相关推荐

  1. UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决

    模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除 模拟启库 SQL> STARUP; * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 ...

  2. Oracle UNDO表空间损坏时的处理办法

    前两天一客户的Oracle数据库出现故障,通过分析日志发现是UNDOTBS1表空间损坏,在没有使用RMAN备份来做恢复的情况下,通过重建UNDO表空间解决: 拿到这个问题后,先尝试直接 recover ...

  3. Oracle undo 表空间管理

    Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...

  4. oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决

    在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...

  5. Oracle undo表空间爆满的解决

    1. 启动SQLPLUS,并用sys登陆到数据库. #su - oracle $>sqlplus / as sysdba 2. 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间 ...

  6. ora-01092: oracle 实例终止.强制断开连接,undo表空间故障特殊恢复(二)------ORA-01092: ORACLE 实例终止。强制断开连接...

    原文出处:http://blog.csdn.net/wyzxg/archive/2010/09/10/5874726.aspx undo表空间故障特殊恢复(二)------ORA-01092: ORA ...

  7. oracle扩充undo,Oracle快速替换UNDO表空间方法

    UNDO表空间不够用,有两种处理方法: 1.扩大表空间大小: 2.创建新的UNDO表空间,删除原来的. 一.初步操作 确认UNDO表空间名称 select name from v$tablespace ...

  8. oracle清理undo空间,删除Oracle Undo表空间

    近期处理了一次删除.重建Undo表空间的事情,有些细节还是值得记下来备忘.事情的起因是工程师需要将分布在不同ASM磁盘组里的Oracle数据库文件,迁移到新建的ASM磁盘组,操作过程中,错误的删除了U ...

  9. undo表空间故障特殊恢复(二)------ORA-01092: ORACLE 实例终止。强制断开连接

    author:skate time:2010-09-10 undo表空间故障特殊恢复(二) 这个测试的是instance recover(单实例里就是crash recovery)的恢复需要故障und ...

最新文章

  1. 昆虫大脑帮助AI解决导航难题
  2. PHP serialize JSON 解析
  3. 聚类算法小记(part1)--基于密度峰快速搜索的聚类算法
  4. Convert Windows 32bit dirver to Windows 64bit
  5. Vuejs 动态绑定属性
  6. 拖拽之路(二):自定义QListWidget实现美观的拖拽样式(拖拽不影响选中)
  7. 安装Redis教程(详细过程)
  8. maven scm 配置git
  9. 程序员常用的软件(附下载地址)
  10. 小波变换(matlab)-常见脚本函数
  11. acu风格是什么意思_acu 是什么意思,是一个品牌吗???
  12. 【情感分析:挖掘观点、情感和情绪】读书笔记-01
  13. 【论文阅读】水下机器人控制视觉伺服部分
  14. 来自北京大学NOIP金牌选手yxc的常用代码模板3——搜索与图论
  15. 数字电路5(基本CMOS逻辑门电路)
  16. varchar与char有什么区别
  17. python入门之字符串处理_python基础教程之python字符串处理方法|python基础教程|python入门|python教程...
  18. 店宝宝谈男士护肤美妆:千亿风口,巨头争锋
  19. Android Studio的报错提示:SSL peer shut down incorrectly
  20. JavaScript:从内存的角度图解 函数作用域及作用域链

热门文章

  1. linux下使用yum安装Apache+php+Mysql+phpMyAdmin
  2. Java解决CAS机制中ABA问题的方案
  3. PHP/HTML混写的四种方式
  4. Go调度程序:Ms,PsGs
  5. C语言文件指针的基本函数介绍包含了fpoen、fclose、fgetc、fputc、fscanf、fprintf、fgets、fputs、fread、fwrite函数以及文件定位函数.
  6. 为什么用java开发app_安卓开发为什么选择用Java语言
  7. bootstrap 树形菜单
  8. 深入理解K8S网络原理上
  9. IAR环境中实现数据或函数的定位
  10. Spring 常见问题( 持续更新... ... )