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