2006年08月21日 17:39

測試當發生不正常關機,並且當前的redo log file損壞的解決方法

測試環境
os:win2k
oracle:10.0.2


測試流程:
1、db是在noarchive的模式
2、建立一個table,增加幾筆資料
3、使用alter system switch logfile
4、使用select * from v$log,查看現在的redo log是那個
5、使用shutdown abort,在windows中無法在open的情況下殺檔,所以只能這樣子了
6、刪除現在的redo log file
7、使用 startup 開起db
8、只能開到mount的狀態,我試著用 alter database clear unarchived logfile group 2; 結果是失敗的,無法開起db

相關的log如下:

SQL> alter database clear unarchived logfile group 2;

alter database clear unarchived logfile group 2

*

 ERROR 在行 1:

ORA-01624: 日誌 2 是執行處理 binhu (系線 1) 損毀復原時需要的

ORA-00312: 線上日誌 2 系線 1: 'D:\ORACLE\PRODUCT\10.2.0\BINHU\REDO02.LOG'
 

<-------------alter.log-------------------->

Mon Aug 21 14:16:20 2006

Aborting crash recovery due to error 313

Mon Aug 21 14:16:20 2006

Errors in file d:\oracle\product\10.2.0\admin\binhu\udump\binhu_ora_3608.trc:

ORA-00313: 開啟日誌群組 2 (屬於系線 1) 的成員失敗

ORA-00312: 線上日誌 2 系線 1: 'D:\ORACLE\PRODUCT\10.2.0\BINHU\REDO02.LOG'

ORA-27041: 無法開啟檔案

OSD-04002: 無法開啟檔案

O/S-Error: (OS 2) 系統找不到指定的檔案。

 

ORA-313 signalled during: ALTER DATABASE OPEN...

Mon Aug 21 14:16:45 2006

alter database clear unarchived logfile group 2

Mon Aug 21 14:16:45 2006

ORA-1624 signalled during: alter database clear unarchived logfile group 2...

解決方法:
1、 create pfile=’d:/pfile’ from spfile;
2、修改pfile檔,裏面加入*._allow_resetlogs_corruption=TRUE
3、Startup  nomount  pfile=’d:/pfile’;
4、Alter  database  mount;
5、Recover database until cancel;
6、Alter  database  open  resetlogs;
7、Select  *  from  test1;


參考 link

  • my_work 發表於樂多回應(0)引用(0)DB編輯本文
    樂多分類:網路/3C │昨日人次:1 │累計人次:367
    Ads by Roodo! 

    引用URL

    http://cgi.blog.roodo.com/trackback/2046677