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

简介: 参考ORA-600 [4194] "Undo Record Number Mismatch While Adding Undo Record" (文档 ID 39283.

参考
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、再次重启数据库完事。

 

 

相关文章
|
11月前
|
数据库
ORA-06553: PLS-801: internal error 的解决办法
搜索了一下,原来是把32位的数据库恢复到64位的数据库了。找到解决方案如下
|
SQL 数据库
ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []
今天在PlateSpin Forge(关于PlateSpin相关介绍,请见最下面部分简单介绍) 复制出来的一台数据库服务器上,测试数据库能否正常启动时,遇到了“ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], ...
1324 0
|
网络协议 Oracle 关系型数据库
|
Oracle 关系型数据库 数据库

热门文章

最新文章