ora-00354 ora-00353 問題解決

wei-xh發表於2010-07-19

這個是幫網友遠端解決的,其實我在工作中也經常遇到,可能就是因為經常遇到,因此一直沒寫出來解決辦法。

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部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-668354/,如需轉載,請註明出處,否則將追究法律責任。

相關文章