文章作者 100test 发表时间 2008:02:01 15:41:46
来源 100Test.Com百考试题网
问题:我的数据库重新启动后,出现了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 |
◆现在你可以重新创建新的UNDO表空间,删除出现问题的表空间,修改参数文件,由参数文件生成新的spfile,然后重新启动数据库:
SQL> create undo tablespace undotbs1 2 datafile /opt/oracle/oradata/conner/undotbs1.dbf size 10M. Tablespace created. SQL> alter system set undo_tablespace=undotbs1. System altered. SQL> 0drop tablespace undotbs2. Tablespace 0dropped. |
相关文章
入侵Oracle数据库时常用的操作命令
Ora-006004194错误的解决方法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛