oracle錯誤之ORA-00600

liqilin0429發表於2012-03-13
啟動資料庫時報如下錯誤
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area  744910848 bytes
Fixed Size                  1374696 bytes
Variable Size             369100312 bytes
Database Buffers          369098752 bytes
Redo Buffers                5337088 bytes
資料庫裝載完畢。
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379],
[5384], [], [], [], [], [], [], []
第一步:開啟到OPEN狀態
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379],
[5384], [], [], [], [], [], [], []
第二步
檢視日誌檔案存放的路徑同時檢視日誌資訊
SQL> show parameter user
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
license_max_users                    integer     0
parallel_adaptive_multi_user         boolean     TRUE
redo_transport_user                  string
user_dump_dest                       string      d:\app\qilin\diag\rdbms\qilin\
                                                 qilin\trace
alert_qilin.log的主要內容:
Tue Mar 13 09:48:30 2012
alter database open
Beginning crash recovery of 1 threads
 parallel recovery started with 3 processes
Started redo scan
Completed redo scan
 read 21211 KB redo, 0 data blocks need recovery
Errors in file d:\app\qilin\diag\rdbms\qilin\qilin\trace\qilin_ora_5472.trc  (incident=255416):
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379], [5384], [], [], [], [], [], [], []
Incident details in: d:\app\qilin\diag\rdbms\qilin\qilin\incident\incdir_255416\qilin_ora_5472_i255416.trc
Tue Mar 13 09:48:33 2012
Trace dumping is performing id=[cdmp_20120313094833]
Aborting crash recovery due to error 600
Errors in file d:\app\qilin\diag\rdbms\qilin\qilin\trace\qilin_ora_5472.trc:
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379], [5384], [], [], [], [], [], [], []
Errors in file d:\app\qilin\diag\rdbms\qilin\qilin\trace\qilin_ora_5472.trc:
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379], [5384], [], [], [], [], [], [], []
ORA-600 signalled during: alter database open...
Tue Mar 13 09:48:35 2012
Sweep [inc][255416]: completed
Sweep [inc2][255416]: completed
qilin_ora_5472.trc的主要內容:
*** 2012-03-13 09:48:31.677
Started writing zeroblks thread 1 seq 17 blocks 5379-5386
*** 2012-03-13 09:48:31.689
Completed writing zeroblks thread 1 seq 17
==== Redo read statistics for thread 1 ====
Total physical reads (from disk and memory): 22619Kb
-- Redo read_disk statistics --
Read rate (ASYNC): 21212Kb in 0.80s => 25.89 Mb/sec
Longest record: 12Kb, moves: 0/53991 (0%)
Change moves: 98/976 (10%), moved: 0Mb
Longest LWN: 837Kb, moves: 3/8046 (0%), moved: 0Mb
Last redo scn: 0x0000.0068e490 (6874256)
----------------------------------------------
----- Recovery Hash Table Statistics ---------
Hash table buckets = 32768
Longest hash chain = 0
Average hash chain = 0/0 = 0.0
Max compares per lookup = 0
Avg compares per lookup = 0/0 = 0.0
----------------------------------------------
WARNING! Crash recovery of thread 1 seq 17 is
ending at redo block 5379 but should not have ended before
redo block 5384
Symbol file D:\app\QiLin\product\11.2.0\dbhome_1\BIN\oracommon11.SYM does not match binary.
 Symbol TimeStamp=4bb5eaac, Module TimeStamp=0 are different
Symbol file D:\app\QiLin\product\11.2.0\dbhome_1\BIN\oraclsra11.SYM does not match binary.
 Symbol TimeStamp=4bb4cf99, Module TimeStamp=0 are different
EnumerateLoadedModules64 failed with error -1073741819
Symbol file oraclsra11.SYM does not match binary.
 Symbol TimeStamp=4bb4cf99, Module TimeStamp=0 are different
Symbol file oracommon11.SYM does not match binary.
 Symbol TimeStamp=4bb5eaac, Module TimeStamp=0 are different
Incident 255416 created, dump file: d:\app\qilin\diag\rdbms\qilin\qilin\incident\incdir_255416\qilin_ora_5472_i255416.trc
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379], [5384], [], [], [], [], [], [], []
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379], [5384], [], [], [], [], [], [], []
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379], [5384], [], [], [], [], [], [], []
通過alert和trace中的內容可以知道,資料庫需要恢復到rba到5384,但是因為某種原因例項恢復的時候,只能利用1 thread 17 seq#,恢復rba到5379。從而導致資料庫無法正常open
第三步 檢視例項開啟的狀態
SQL> select status from v$instance;
STATUS
------------
MOUNTED
第四步:恢復例項並開啟到OPEN狀態
SQL> recover database;
ORA-00283: 恢復會話因錯誤而取消
ORA-00264: 不要求恢復

SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-00600: 內部錯誤程式碼, 引數: [kcratr_nab_less_than_odr], [1], [17], [5379],
[5384], [], [], [], [], [], [], []
第五步:恢復到關閉前的狀態
SQL> recover database until cancel;
ORA-10879: error signaled in parallel recovery slave
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01152: 檔案 1 沒有從過舊的備份中還原
ORA-01110: 資料檔案 1: 'D:\APP\QILIN\ORADATA\QILIN\SYSTEM01.DBF'
第六步:建立控制檔案
SQL> alter database backup controlfile to trace as 'd:/control.txt';
資料庫已更改。
第七步:關閉資料並重新啟動到NOMOUNT狀態
SQL> shutdown abort;
ORACLE 例程已經關閉。
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area  744910848 bytes
Fixed Size                  1374696 bytes
Variable Size             369100312 bytes
Database Buffers          369098752 bytes
Redo Buffers                5337088 bytes
第八步:重新生成控制檔案
SQL> @D:\control.sql
控制檔案已建立。
第九步:恢復資料庫並啟動到OPEN狀態
SQL> recover database;
完成介質恢復。
SQL> alter database open;
資料庫已更改。
SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20976446/viewspace-718411/,如需轉載,請註明出處,否則將追究法律責任。

相關文章