您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關noarchive數據庫current redo log損壞且沒有備份如何應對,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
昨天,一臺oracle 數據庫由于磁盤問題,造成current
redo log 損壞,down 機后無法啟動數據庫。
環境: windows2003 + oracle 9i
操作如下:
startup mount;
create pfile from spfile;
shudown immediate;
關閉當前數據庫后,將所有oracle 下\ora92\ ,\oradata\ yw \ 目錄拷貝到出來,將密碼文件和pfile 備份。
在另一臺計算機上安裝了一個新的oracle,并且重建庫,實例名和數據庫名與前相同-----yw。
用備份的\oradata\yw\覆蓋新庫的\ora\data\yw\.
覆蓋原來的密碼文件和 pfile.
在pfile 中增加:
__ALLOW_RESETLOGS_CORRUPTION=TRUE
SQL> startup mount pfile=c:\oracle\ora92\database\INITyw.ora;
ORACLE instance started.
Total System Global Area 2483027968 bytes
Fixed Size 2074760 bytes
Variable Size 1090520952 bytes
Database Buffers 1375731712 bytes
Redo Buffers 14700544 bytes
Database mounted.
SQL> recover database until cancel;
輸入cancel
SQL> alter database open resetlogs;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> alter database open;
查看alert_yw.log 文件:
RESETLOGS after incomplete recovery UNTIL CHANGE 9431879262014
Resetting resetlogs activation ID 3761166285 (0xe02ed7cd)
Online log 2 of thread 1 was previously cleared
Online log 3 of thread 1 was previously cleared
Mon Dec 21 14:43:32 2009
Assigning activation ID 3761145403 (0xe02e863b)
Thread 1 opened at log sequence 1
Current log# 1 seq# 1 mem# 0: D:\ORACLE\ORADATA\NMYW\REDO01.LOG
Successful open of redo thread 1.
Mon Dec 21 14:43:32 2009
SMON: enabling cache recovery
Mon Dec 21 14:43:32 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_ora_265156.trc:
ORA-00600: 內部錯誤代碼,參數:
[2662], [2196], [131080003], [2196], [131139845], [8388617], [], []
Mon Dec 21 14:43:32 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_ora_265156.trc:
ORA-00600: 內部錯誤代碼,參數: [2662], [2196], [131080003], [2196], [131139845], [8388617], [], []
Mon Dec 21 14:43:32 2009
Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
Instance terminated by USER, pid = 265156
ORA-1092 signalled during: alter database open resetlogs...
Mon Dec 21 14:48:33 2009
USER: terminating instance due to error 1092
Instance terminated by USER, pid = 265156
SQL> connect / as sysdba;
SQL>startup mount pfile=c:\oracle\ora92\database\INITyw.ora;
SQL> select file#,checkpoint_change# from v$datafile;
發現所有的datafile 的checkpoint_scn 都是大得出奇:
利用10015事件進行adjust_scn
level 1 = 1billion (12位整數)
SQL> alter session set events '10015 trace name adjust_scn level 1';
SQL> alter database open ;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> alter database open;
查看alert_yw.log 文件:
Errors in file d:\oracle\admin\nmyw\udump\nmyw_ora_269012.trc:
ORA-00600: 內部錯誤代碼,參數: [2256], [0], [1073741824],[2196],[131100005], [], [], []
Mon Dec 21 15:18:11 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_ora_269012.trc:
ORA-00600: 內部錯誤代碼,參數: [2256], [0], [1073741824], [2196], [131100005], [], [], []
level = (2196+1) *4=8788
SQL>alter session set events '10015 trace name adjust_scn level 8788';
SQL> alter database open;
報錯:
查看alert_yw.log 文件:
Debugging event used to advance scn to 9436043149312
Undo Segment 1 Onlined
Undo Segment 2 Onlined
Undo Segment 3 Onlined
Undo Segment 4 Onlined
Undo Segment 5 Onlined
Undo Segment 6 Onlined
Undo Segment 7 Onlined
Undo Segment 8 Onlined
Undo Segment 9 Onlined
Undo Segment 10 Onlined
Successfully onlined Undo Tablespace 1.
Dictionary check beginning
Dictionary check complete
Mon Dec 21 15:50:52 2009
SMON: enabling tx recovery
Mon Dec 21 15:50:52 2009
Database Characterset is ZHS16GBK
Mon Dec 21 15:50:54 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_ora_273712.trc:
ORA-00600: 內部錯誤代碼,參數: [4193], [38371], [38432], [], [], [], [], []
Mon Dec 21 15:50:54 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_p000_272924.trc:
ORA-00600: internal error code, arguments: [ktbsdp1], [], [], [], [], [], [], []
Recovery of Online Redo Log: Thread 1 Group 2 Seq 2 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\NMYW\REDO02.LOG
Recovery of Online Redo Log: Thread 1 Group 2 Seq 2 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\NMYW\REDO02.LOG
Mon Dec 21 15:50:56 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_p000_272924.trc:
ORA-00339: archived log does not contain any redo
ORA-00334: archived log: 'D:\ORACLE\ORADATA\NMYW\REDO03.LOG'
ORA-00600: internal error code, arguments: [ktbsdp1], [], [], [], [], [], [], []
Mon Dec 21 15:50:56 2009
Recovery of Online Redo Log: Thread 1 Group 2 Seq 2 Reading mem 0
Mem# 0 errs 0: D:\ORACLE\ORADATA\NMYW\REDO02.LOG
Mon Dec 21 15:50:56 2009
Errors in file d:\oracle\admin\nmyw\udump\nmyw_ora_273712.trc:
ORA-00607: 當更改數據塊時出現內部錯誤
ORA-00600: 內部錯誤代碼,參數: [4193], [38371], [38432], [], [], [], [], []
報ora-00600 [4193]錯誤,說明是undo 信息出錯,將undo datafile offline 掉即可:
SQL> alter database datafile 'c:\oracle\oradata\yw\undotbs01.ora' offline drop ;
SQL> alter database open ;
Database opened.
利用exp 將數據導出。 重新建庫導入,一切ok.
在最后一步如果出現ora-600 [4193] [4194] 錯誤,如下解決:
ORA-600的4194和4193錯誤,根據錯誤信息的看來是Oracle進行恢復的過程中出現了問題。查詢METALINK,發現是REDO中的回滾記錄和UNDO中的不一致造成的。嘗試使用隱含參數_CORRUPTED_ROLLBACK_SEGMENTS來打開數據庫。在剛才的建立的inittest08.ora初始化文件中添加下面的信息:
undo_management='MANUAL'
_corrupted_rollback_segments=(_SYSSMU1&,_SYSSMU2&,_SYSSMU3&,_SYSSMU4&,_SYSSMU5&,_SYSSMU6&,_SYSSMU7&,_SYSSMU8&,_SYSSMU9&,_SYSSMU10&,_SYSSMU11&,_SYSSMU12&,_SYSSMU13&,_SYSSMU14&,_SYSSMU15&,_SYSSMU16&,_SYSSMU17&,_SYSSMU18&,_SYSSMU19&,_SYSSMU20&,_SYSSMU21&,_SYSSMU22&,_SYSSMU23&,_SYSSMU24&,_SYSSMU25&,_SYSSMU26&,_SYSSMU27&,_SYSSMU28&,_SYSSMU29&,_SYSSMU30&,_SYSSMU31&,_SYSSMU32&,_SYSSMU33&,_SYSSMU34&,_SYSSMU35&,_SYSSMU36&,_SYSSMU37&,_SYSSMU38&,_SYSSMU39&,_SYSSMU40&,_SYSSMU41&)
看完上述內容,你們對noarchive數據庫current redo log損壞且沒有備份如何應對有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。