遭遇 ORA-00600: internal error code, arguments: [4194] ORA-1552

gaopengtttt發表於2015-07-13

參考
ORA-600 [4194] "Undo Record Number Mismatch While Adding Undo Record" (文件 ID 39283.1)


ORA-01552 While Creating Undo Tablespace (文件 ID 443570.1)
Step by step to resolve ORA-600 4194 4193 4197 on database crash (文件 ID 1428786.1)

資料庫CARSH後啟動報錯

ORA-00600: internal error code, arguments: [4194], [#], [#], [], [], [], [], []

關於這個錯誤描述如下:

DESCRIPTION:   A mismatch has been detected between Redo records and rollback (Undo)   records.   We are validating the Undo record number relating to the change being   applied against the maximum undo record number recorded in the undo block.   This error is reported when the validation fails. ARGUMENTS:  Arg [a] Maximum Undo record number in Undo block  Arg [b] Undo record number from Redo block

 

 

但是在實際處理過程中還遇到如下錯誤:

 


按照MOS文件給出原因如下

Disable the CDC trigger and then undo tablespace can be created successfully.

需要禁用CDC觸發器

_system_trig_enabled=false

 

SQL> conn / as sysdba

SQL> ALTER TRIGGER sys.cdc_alter_ctable_before DISABLE;

SQL> ALTER TRIGGER sys.cdc_create_ctable_after DISABLE;

SQL> ALTER TRIGGER sys.cdc_create_ctable_before DISABLE;

SQL> ALTER TRIGGER sys.cdc_drop_ctable_before DISABLE;

 

所以總結解決辦法如下(處理前最好進行備份)

1、 關閉資料庫  shutdown immediate

2、 啟動資料庫到mount狀態下  startup mount  執行以下語句

alter system set "_system_trig_enabled"=false scope=both;
ALTER TRIGGER sys.cdc_alter_ctable_before DISABLE;
ALTER TRIGGER sys.cdc_create_ctable_after DISABLE;
ALTER TRIGGER sys.cdc_create_ctable_before DISABLE;
ALTER TRIGGER sys.cdc_drop_ctable_before DISABLE;

3、 關閉資料庫shutdown immediate,再次重啟到mount狀態

修改引數 

alter system set  undo_management = manual scope=spfile;  

alter system set  event = '10513 trace name context forever, level 2'  scope=spfile;

4、 關閉資料庫,啟動到startup restrict狀態,

1.shutdown immediate;  

2.startup restrict;

5、 檢視select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE';是有存在記錄,如果存在記錄,如果不存在可以

新建UNDO表空間    create undo tablespace datafile file size xxxM ;

如果存在MOS沒有給出處理步驟,可能需要設定_corrupted_rollback_segments如下文章

http://blog.itpub.net/7728585/viewspace-777441/

然後重啟刪除掉這些異常的回滾段

 

6、 刪除舊UNDO表空間包括資料檔案drop tablespace  including contents and datafiles;

7、 關閉資料庫shutdown immediate,啟動到startup nomount狀態

8、 修改UNDO表空間為新建變空間alter system set undo_tablespace=new_undotablespace scope=spfile;

9、 重啟資料庫shutdown immediate ;   startup;

10、關閉資料庫,啟動到mount狀態,修改引數    
  1.
alter system set  undo_management = auto scope=spfile;  
    2.alter system set 
 event = ''  scope=spfile;  
    3.
alter system set "_system_trig_enabled"=true scope=both;

11、再次重啟資料庫完事。

 

 

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

相關文章