转 ORA-00600 [4194] 处理

https://blog.csdn.net/renyanjie123/article/details/111239302

ORA-00600 [4194] 处理

 

订阅专栏
在某客户现场遇到一个看着很唬人的报错 ORA 600 ,遇到此报错很多人心里一慌,此次故障ORA-00600 [4194]根本原因是数据库断电down机后undo损坏了,导致数据库不能open。接下来看alert报错

Tue Dec 15 10:45:27 2020
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6032.trc (incident=166522):
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
Incident details in: d:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_166522\orcl_ora_6032_i166522.trc
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_166522\orcl_ora_6032_i166522.trc:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
其实报错很多,但是很明显就是ORA-00600 [4194]

 

##for 11g and 19c cdb

接下来做一些检查,登陆数据库检查SCN,发现是控制文件和数据文件头scn是一致的,那么重建undo就可以了

select distinct checkpoint_change# from v$datafile;
select distinct checkpoint_change# from v$datafile_header;

 

1.创建pfile参数文件
sqlplus / as sysdba

create pfile='d:\pfile.ora' from spfile;

2.编辑pfile

*.undo_management='MANUAL'
*.undo_tablespace='SYSTEM'

3,重启数据库
shutdown immediate
startup pfile='d:\pfile.ora'

观察报错,此处顺利的话是无报错的,当然alert可能还有其他的报错,要继续处理其他报错

4.重建undo

select file_name,sum(bytes)/1024/1204/1204 from dba_data_files where tablespace_name='UNDOTBS2' group by file_name;


CREATE UNDO TABLESPACE UNDOTBS1 datafile 'D:\APP\ADMINISTRATOR\ORADATA\orcl\UNDBTBS01,DBF' size 3G;

5.重新修改pfile使undo自动管理
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS3'
startup pfile='d:\pfile.ora'
create spfile from pfile='d:\pfile.ora'
startup force;
6.删除undo

 

##for 19c pdb


##for 19c pdb
SQL> alter session set container=apexdb;

Session altered.

SQL>
SQL>
SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 APEXDB READ WRITE NO
SQL> show parameter undo

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_undo_autotune boolean FALSE
temp_undo_enabled boolean FALSE
undo_management string AUTO
undo_retention integer 43200
undo_tablespace string UNDOTBS1
SQL> alter system set undo_tablespace=UNDOTBS2;

System altered.

 

 

补充:

ORA-600[4194]/[4193]
4193:表示undo和redo不一致(Arg [a] Undo record seq number,Arg [b] Redo record seq number );
4194:表示也是undo和redo不一致(Arg [a] Maximum Undo record number in Undo block,Arg [b] Undo record number from Redo block)

所以出现4193错误,解决方法跟4194一样。
————————————————
版权声明:本文为CSDN博主「c.a.p」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/renyanjie123/article/details/111239302

posted @ 2022-11-17 16:24  feiyun8616  阅读(167)  评论(0编辑  收藏  举报