问题:我的数据库重新启动后,出现了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。 |