文件系统异常引起的数据库open失败的解决过程

越到年底事情越多,感觉自己有点年底综合症的意思,不想去干活的时候事情还总是特别多,前两天有同事打电话说公司一个测试数据库起不来了,服务器异常宕机,结果文件系统出了点问题,所以数据库不能启动了,让帮忙解决下!

结果第二天跑到公司去了,现场环境是这样的:非归档的Oracle 10.2.0.4.0单机数据库,起初是redo group4异常,不能读取,数据库open时候报错:

Tue Jan 13 15:09:17 2009
Aborting crash recovery due to error 368
Tue Jan 13 15:09:17 2009
Errors in file /u01/app/oracle/admin/crm/udump/crm_ora_6918.trc:
ORA-00368: 重做日志块中的校验和错误
ORA-00353: 日志损坏接近块 138939 更改 8245479013914 时间 01/12/2009 21:21:45
ORA-00312: 联机日志 4 线程 1: '/u01/app/oracle/oradata/crm/redo04.log'
ORA-368 signalled during: ALTER DATABASE OPEN...

而且前面日志中有很多这样的错误:

ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01555: 快照过旧: 回退段号 6 (名称为 "_SYSSMU6$") 过小

这为后面clear redo后留下了隐患,同事尝试了clear redo04.log,结果报错:ORA-1624

然后根据提示去做了ALTER DATABASE RECOVER  database until cancel ,因为是非归档,所以选择auto方式,然后报错找不到归档XXX.ARC,然后去alter database open resetlogs,然后还是无法open数据库,就重启多次尝试recover,然后open resetlogs,不能成功。

然后使用隐含参数:

ALTER SYSTEM SET _allow_resetlogs_corruption=TRUE SCOPE=SPFILE; ALTER SYSTEM SET _allow_terminal_recovery_corruption=TRUE SCOPE=SPFILE;

重启后,就出现前面提到的:

 ORA-00704: 引导程序进程失败

ORA-00704: 引导程序进程失败

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01555: 快照过旧: 回退段号 8 (名称为 "_SYSSMU8$") 过小

Error 704 happened during db open, shutting down database

等我接手处理的时候,就是上面这个情况了!

我的操作过程:也是尝试open resetlogs,报错!然后recover database,open resetlogs,依然报错!

然后看日志,发现redo2好像也有问题,反正是测试库,clear再说!依然recover,open resetlogs,报错依然是:

ORA-00704: 引导程序进程失败

ORA-00704: 引导程序进程失败

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-01555: 快照过旧: 回退段号 8 (名称为 "_SYSSMU8$") 过小

Error 704 happened during db open, shutting down database

然后上网google下,参考了篇文档,说可以加隐含参数:_ALLOW_ERROR_SIMULATION=true,可以阻止ADJUST_SCN,尝试了下,也不行!

再找metalink看看,结合了一堆文档,分析问题也出在undo文件上了,drop undo offline,执行alter database datafile 2 offline,然后alter database open,这次终于出来我们想要的ora-600了

ORA-00600: 内部错误代码, 参数: [2662], [1919], [3436769350], [1919], [3436770762], [12593956], [], []

ORA-00600: 内部错误代码, 参数: [2662], [1919], [3436769350], [1919], [3436770762], [12593956], [], []

Error 600 happened during db open, shutting down database

这次应该能打开了,重启数据库到mount,然后alter database open,数据库终于open了,下面就是测试工程师的工作了,导出数据,重建库,导入,搞定!!!

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/122290/viewspace-539831/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/122290/viewspace-539831/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值