Ora-00600 4194错误的解决方法

http://www.itjxue.com  2015-07-17 10:50  来源:未知  点击次数: 

问题:我的数据库重新启动后,出现了Ora-00600 4194错误,具体的日志如下:

Sat Jan 21 13:55:21 2006
Errors in file /opt/oracle/admin/conner
/bdump/conner_smon_17113.trc:
ORA-00600: internal error code, arguments:
[4194], [43], [46], [], [], [], [], []
Sat Jan 21 13:55:21 2006
Errors in file /opt/oracle/admin/conner
/udump/conner_ora_17121.trc:
ORA-00600: internal error code, arguments:
[4194], [45], [44], [], [], [], [], []
请问应该用什么办法解决?

答:具体的解决办法是通过备份来进行恢复,因为Ora-00600 4194错误的出现说明UNDO段出现了问题,如果你没有备份,业可以通过特殊的初始化参数进行强制启动,下文针对Oracle的隐含参数进行恢复说明(由于你的实际情况可能会有所出入,所以请你进行测试前先行备份)。

◆首先你需要确定当前的回滚段名称,注释:(可以从alert文件中获得)

Sat Jan 21 13:55:21 2006
Undo Segment 11 Onlined
Undo Segment 12 Onlined
Undo Segment 13 Onlined
Successfully onlined Undo Tablespace 16.

◆注意:对应的AUM (auto undo management) 下的回滚段名称为:

'_SYSSMU11$','_SYSSMU12$','_SYSSMU13$'

◆此时你可以修改init.ora参数文件,使用Oracle隐含参数_corrupted_rollback_segments将回滚段标记为损坏,然后启动数据库,Oracle则会跳过对于这些回滚段的相关操作,强制启动数据库。

._corrupted_rollback_segments='_SYSSMU11$','_SYSSMU12$','_SYSSMU13$'

◆然后使用init.ora参数文件启动数据库:

[oracle@jumper dbs]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Sat Jan 21 13:56:47 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.
SQL> startup pfile=initconner.ora
ORACLE instance started.
Total System Global Area   97588504 bytes
Fixed Size                   451864 bytes
Variable Size              33554432 bytes
Database Buffers           62914560 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.

至此数据库正常Open。

◆注意观察alert文件所获得的如下信息:

Sat Jan 21 13:57:03 2006
SMON: enabling tx recovery
SMON: about to recover undo segment 11
SMON: mark undo segment 11 as needs recovery
SMON: about to recover undo segment 12
SMON: mark undo segment 12 as needs recovery
SMON: about to recover undo segment 13
SMON: mark undo segment 13 as needs recovery
Sat Jan 21 13:57:03 2006
Database Characterset is ZHS16GBK
Sat Jan 21 13:57:03 2006
SMON: about to recover undo segment 11
SMON: mark undo segment 11 as needs recovery
SMON: about to recover undo segment 12
SMON: mark undo segment 12 as needs recovery
SMON: about to recover undo segment 13
SMON: mark undo segment 13 as needs recovery
Sat Jan 21 13:57:04 2006
Created Undo Segment _SYSSMU1$
Undo Segment 1 Onlined
Completed: ALTER DATABASE OPEN
aSat Jan 21 14:02:11 2006
SMON: about to recover undo segment 11
SMON: mark undo segment 11 as needs recovery
SMON: about to recover undo segment 12
SMON: mark undo segment 12 as needs recovery
SMON: about to recover undo segment 13
SMON: mark undo segment 13 as needs recovery

(责任编辑:IT教学网)

更多

推荐Oracle文章