ora-00600:internal error code,arguments:[4194],[7],[2],[],[]

itpub120發表於2016-08-11
資料庫能夠進入到mount狀態,alter database open提示如下錯誤:
ora-00600:internal error code,arguments:[4194],[7],[2],[],[],[],[],[],[],[],[],[]
程式ID:584
回話ID:211 序列號:3

oracle support 參考文件【文件 ID 281429.1】上的解釋:
A mismatch has been detected between Redo records and rollback (Undo) 
records.

ARGUMENTS:
Arg [a] Maximum Undo record number in Undo block
Arg [b] Undo record number from Redo block

意思是undo和redo的記錄號不一致,一般在資料庫有沒提交事務的情況下突然當機導致undo裡面的事務沒辦法回退。
解決辦法:
step1,sql> startup mount; mount資料庫;
step2,  sql> create pfile from spfile; 預設為INITsidname.ora;
step3,  sql> shutdown immediate;
step4, 將INITsidname.ora檔案裡面的 undo_management = manual;  改為手動。
step5,  sql> startup pfile=INITsidname.ora; 用pfile啟動資料庫。
step6,  sql>create undo tablespace undotbs2  datafile '/opt/oracle/oradata/conner/undotbs2.dbf' size 10M;
step7, 將INITsidname.ora裡面更改為undo_tablespace='UNDOTBS2';
step8,重新用pfile啟動;
step9,create spfile from pfile;
step10,關閉資料庫後重新啟動。
step11,Drop tablespace including contents and datafiles  如果刪除不了,則需要將狀態非offline的回退段在initsidname檔案裡面隱藏掉  *._offline_rollback_segments=(_SYSSMU10_1695440836$)
然後用pfile啟動資料庫,再drop rollback segment "_SYSSMU10_1695440836$";現在可以成功執行 step11了。

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

相關文章