解决ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1]

来源:这里教程网 时间:2026-03-03 18:20:33 作者:

数据库打开报错:

ORA-00603: ORACLE server session terminated by fatal error

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

ORA-00704: bootstrap process failure

ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [],

[], [], [], [], [], [], []

Process ID: 4771

Session ID: 3121 Serial number: 2817

 

查询  v$datafile_header  CHECKPOINT_CHANGE# 均一致, FUZZY YES

SQL> select file#, fuzzy, to_char(CHECKPOINT_CHANGE#) from v$datafile_header;

 

     FILE# FUZ TO_CHAR(CHECKPOINT_CHANGE#)

---------- --- ----------------------------------------

         1 YES 2437336

         2 YES 2437336

         3 YES 2437336

         4 YES 2437336

         5 YES 2437336

 

设置隐含参数

alter system set "_allow_resetlogs_corruption"=true scope=spfile;

alter system set "_allow_error_simulation"=true scope=spfile;

 

设置 event 21307096 ,推进 scn

alter system set event="21307096 trace name context forever, level 3" scope=spfile;

 

重启打开数据库

ORA-00603: ORACLE server session terminated by fatal error

ORA-01092: ORACLE instance terminated. Disconnection forced

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

[], [], [], [], []

Process ID: 5313

Session ID: 3121 Serial number: 41735

 

该错误表示检测到  redo   undo  回滚段记录的信息不一致

Arg [a] - Undo  块中的最大  Undo  记录数

Arg [b] - Redo  块中的  Undo  记录数

 

根据 mos 文档:

Step by step to resolve ORA-600 4194 4193 4197 on database crash (Doc ID 1428786.1)        

 

处理方法:

create pfile='/tmp/initsid.ora' from spfile;

vi /tmp/initsid.ora

add

*.undo_management = manual

*.event='21307096 trace name context forever, level 3','10513 trace name context forever, level 2'( 设置  event 10531 ,禁止 smon 进程进行回滚 )

 

startup restrict pfile='/tmp/initsid.ora'( 此时数据库状态为读写 )

select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE';

TABLESPACE_NAME                STATUS           SEGMENT_NAME

------------------------------ ---------------- ------------------------------

SYSTEM                         ONLINE           SYSTEM

UNDOTBS1                       PARTLY AVAILABLE _SYSSMU4_1254879796$

 

shutdown immediate;

 

修改参数文件,添加隐含参数,将上述查出来的回滚段,添加至隐含参数中

*._corrupted_rollback_segments=(_SYSSMU4_1254879796$)

 

startup restrict pfile='/tmp/initsid.ora'

 

重建 undo 表空间

create undo tablespace <new undo tablespace> datafile <datafile> size 2000M;

eg create undo tablespace undo1 datafile '/ora11g/app/ora11g/undo1.dbf' size 200M;

drop tablespace <old undo tablespace> including contents and datafiles;

eg drop tablespace UNDOTBS1 including contents and datafiles;

 

shutdown immediate;

startup nomount;  此处使用原始的参数文件

alter system set undo_tablespace = '<new tablespace created in step 6>' scope=spfile;

eg  alter system set undo_tablespace=undo1 scope=spfile;

shutdown immediate;

startup; 

相关推荐