ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ora-00354 ora-00353 问题解决

ora-00354 ora-00353 问题解决

原创 Linux操作系统 作者:wei-xh 时间:2010-07-19 09:34:55 0 删除 编辑

这个是帮网友远程解决的,其实我在工作中也经常遇到,可能就是因为经常遇到,因此一直没写出来解决办法。

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01172: recovery of thread 1 stuck at block 25 of file 2
ORA-01151: use media recovery to recover block, restore backup if needed


SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 560 change 13526620 time 07/14/2010
15:12:53
ORA-00312: online log 2 thread 1: 'C:\ORACLE\CEQ\MIRRLOGB\LOG_G12M2.DBF'
ORA-00312: online log 2 thread 1: 'D:\ORACLE\CEQ\ORIGLOGB\LOG_G12M1.DBF'
网上关于在线日志损坏的恢复方法已经很多了。
先试着recover database until cancel;
alter database open resetlogs;
如果打不开。

pfile增加_allow_resetlogs_corruption=true条目。
recover database until cancel;
alter database open resetlogs;


如果还报错,特别的是Ora-00600 4194经常遇到。
那么pfile再增加隐含参数。
._corrupted_rollback_segments='_SYSSMU1$',这里的回滚段根据你的情况而定,如果有多个以逗号隔开。
recover database until cancel;
alter database open resetlogs;

还可能会报错,特别是ORA-600 2662。
alter session set events '10015 trace name adjust_scn level x';
recover database until cancel;
alter database open resetlogs;


我工作中基本遇到的就是上面三种情况了,基本都能把数据打开。然后导出,重建。

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

请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2425338