[小e笔记]之错误案例——ora-00603和ora-00600错误

案例出错情况:

[oracle@elvis ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 17 15:05:42 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  598437888 bytes

Fixed Size                  1338140 bytes

Variable Size             394265828 bytes

Database Buffers          197132288 bytes

Redo Buffers                5701632 bytes

Database mounted.

ORA-00603: ORACLE server session terminated by fatal error

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

警告日志错误信息如下:

SMON: enabling tx recovery

*********************************************************************

WARNING: The following temporary tablespaces contain no files.

         This condition can occur when a backup controlfile has

         been restored.  It may be necessary to add files to these

         tablespaces.  That can be done using the SQL statement:

 

         ALTER TABLESPACE <tablespace_name> ADD TEMPFILE

 

         Alternatively, if these temporary tablespaces are no longer

         needed, then they can be dropped.

           Empty temporary tablespace: TEMP

*********************************************************************

Database Characterset is ZHS16GBK

No Resource Manager plan active

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=53064):

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

Incident details in: /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_53064/elvis_ora_4502_i53064.trc

Wed Oct 17 15:06:54 2012

Trace dumping is performing id=[cdmp_20121017150654]

Wed Oct 17 15:06:55 2012

Doing block recovery for file 3 block 16185

No block recovery was needed

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_smon_4422.trc  (incident=53016):

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

Incident details in: /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_53016/elvis_smon_4422_i53016.trc

Wed Oct 17 15:06:58 2012

Doing block recovery for file 3 block 16185

No block recovery was needed

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=53065):

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

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

Incident details in: /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_53065/elvis_ora_4502_i53065.trc

Non-fatal internal error happenned while SMON was doing shrinking of rollback segments.

SMON encountered 1 out of maximum 100 non-fatal internal errors.

Trace dumping is performing id=[cdmp_20121017150659]

Doing block recovery for file 3 block 16185

No block recovery was needed

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=53066):

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

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

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

Incident details in: /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_53066/elvis_ora_4502_i53066.trc

Trace dumping is performing id=[cdmp_20121017150703]

Doing block recovery for file 3 block 16185

No block recovery was needed

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=53067):

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

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

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

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

Incident details in: /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_53067/elvis_ora_4502_i53067.trc

Wed Oct 17 15:07:06 2012

Trace dumping is performing id=[cdmp_20121017150706]

Wed Oct 17 15:07:08 2012

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc:

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

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

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

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

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc:

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

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

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

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

Error 600 happened during db open, shutting down database

USER (ospid: 4502): terminating the instance due to error 600

Instance terminated by USER, pid = 4502

ORA-1092 signalled during: ALTER DATABASE OPEN...

Doing block recovery for file 3 block 16185

No block recovery was needed

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=53068):

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

ORA-01092: ORACLE instance terminated. Disconnection forced

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

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

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

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

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc:

ORA-27300: OS system dependent operation:semctl failed with status: 22

ORA-27301: OS failure message: Invalid argument

ORA-27302: failure occurred at: sskgpwpost1

ORA-27303: additional information: semid = 131073

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

ORA-01092: ORACLE instance terminated. Disconnection forced

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

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

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

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

Doing block recovery for file 3 block 16185

No block recovery was needed

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=53069):

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

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc:

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

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

ORA-01092: ORACLE instance terminated. Disconnection forced

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

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

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

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

Wed Oct 17 15:07:14 2012

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/trace/elvis_ora_4502.trc  (incident=54113):

ORA-00603: ORACLE server session terminated by fatal error

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

Incident details in: /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_54113/elvis_ora_4502_i54113.trc

Errors in file /u01/oracle/diag/rdbms/elvis/elvis/incident/incdir_54113/elvis_ora_4502_i54113.trc:

ORA-00603: ORACLE server session terminated by fatal error

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

原因:从上述警告日志可以看出有很多的undo块需要修复且需要应用到redo,但很显然No block recovery was needed这句话,说明没有恢复成功,这就导致前滚失败,redoUndoseq#(序列号)不一致,就会报ORA-4194等的错误,详情可以参考,我小翻译的MOS里的一篇文章,连接地址:经过查询MOS里的文章解决方法如下:http://blog.csdn.net/elvis_dataguru/article/details/8082800

解决方法——删除undo表空间

(1)创建pfile文件   --为了设置一个隐藏参数

SQL> startup nomount;

ORACLE instance started.

Total System Global Area  598437888 bytes

Fixed Size                  1338140 bytes

Variable Size             394265828 bytes

Database Buffers          197132288 bytes

Redo Buffers                5701632 bytes

SQL> create pfile='/u01/corrupt.ora' from spfile;

File created.

SQL> shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

(2)修改corrupt.ora文件&&修改undo_management=manual

*._allow_resetlogs_corruption=TRUE

*.audit_file_dest='/u01/oracle/admin/elvis/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/oracle/oradata/elvis/control01.ctl','/u01/oracle/flash_recovery_area/elvis/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='elvis'

*.db_recovery_file_dest='/u01/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=5218762752

*.diagnostic_dest='/u01/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=elvisXDB)'

*.memory_target=598736896

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

*.undo_management='MANUAL'

~

SQL> startup mount pfile='/u01/corrupt.ora'

ORACLE instance started.

Total System Global Area  598437888 bytes

Fixed Size                  1338140 bytes

Variable Size             394265828 bytes

Database Buffers          197132288 bytes

Redo Buffers                5701632 bytes

Database mounted.

SQL> show parameter undo

NAME                                 TYPE        VALUE

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

undo_management                     string      MANUAL

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

这个需要改为manual

SQL> alter database open;

Database altered.

创建新的undo表空间

SQL> create undo tablespace undotbs02 datafile '/u01/oracle/oradata/elvis/undotbs02.dbf' size 500m;

Tablespace created.

删除旧的undo表空间

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME

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

SYSTEM

SYSAUX

UNDOTBS1

TEMP

USERS

TEST

UNDOTBS02

7 rows selected.

SQL> drop tablespace undotbs1 including contents and datafiles;

Tablespace dropped.

看下物理文件

[oracle@elvis elvis]$ ll

total 2080736

drwxr-xr-x 2 oracle oinstall      4096 Oct 13 19:49 bak

-rw-r----- 1 oracle oinstall  10076160 Oct 17 18:49 control01.ctl

-rw-r----- 1 oracle oinstall  52429312 Oct 17 18:37 redo01.log

-rw-r----- 1 oracle oinstall  52429312 Oct 17 18:37 redo02.log

-rw-r----- 1 oracle oinstall  52429312 Oct 17 18:49 redo03.log

-rw-r----- 1 oracle oinstall 629153792 Oct 17 18:48 sysaux01.dbf

-rw-r----- 1 oracle oinstall 734011392 Oct 17 18:48 system01.dbf

-rw-r----- 1 oracle oinstall  71311360 Oct  8 08:50 temp01.dbf

-rw-r----- 1 oracle oinstall  52436992 Oct 17 18:37 test01.dbf

-rw-r----- 1 oracle oinstall 524296192 Oct 17 18:45 undotbs02.dbf

-rw-r----- 1 oracle oinstall   5251072 Oct 17 18:37 users01.dbf

可以看到undotbs1的表空间文件也相应的删除了

(3)使用spfile参数文件打开数据库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup nomount

ORACLE instance started.

Total System Global Area  598437888 bytes

Fixed Size                  1338140 bytes

Variable Size             394265828 bytes

Database Buffers          197132288 bytes

Redo Buffers                5701632 bytes

SQL> show parameter undo

NAME                                 TYPE        VALUE

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

undo_management                      string      AUTO

undo_retention                       integer     900

undo_tablespace                      string      UNDOTBS1

SQL> alter system set undo_tablespace=undotbs02 scope=spfile;

System altered.

SQL> shutdown immediate;

ORA-01507: database not mounted

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area  598437888 bytes

Fixed Size                  1338140 bytes

Variable Size             394265828 bytes

Database Buffers          197132288 bytes

Redo Buffers                5701632 bytes

Database mounted.

Database opened.

可以看到数据库正常开启。

总结:遇到问题,仔细分析,肯定找出错误和错误的解决方法,也没什么可说的了,前面原理和解决方法也都写了,关于ORA-600[41XX]这种错误基本都属于Undo的错误。

 

elvis

2012.10.17

知识共享~共同进步

转载请注明:

 http://blog.csdn.net/elvis_dataguru/article/details/8082834

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章