Errors in file /export/home/oracle/admin/ADC/bdump/adc_smon_3774.trc:
ORA-00600: internal error code, arguments: [ktprhtnew6], [], [], [], [], [], [], []
Tue Sep 1 11:22:49 2015
Fatal internal error happened while SMON was doing active transaction recovery.
Tue Sep 1 11:22:49 2015
Errors in file /export/home/oracle/admin/ADC/bdump/adc_smon_3774.trc:
ORA-00600: internal error code, arguments: [ktprhtnew6], [], [], [], [], [], [], []
SMON: terminating instance due to error 474
Tue Sep 1 11:22:49 2015
Errors in file /export/home/oracle/admin/ADC/bdump/adc_pmon_3724.trc:
ORA-00474: SMON process terminated with error
Tue Sep 1 11:22:49 2015
Errors in file /export/home/oracle/admin/ADC/bdump/adc_dbw0_3730.trc:
ORA-00474: SMON process terminated with error
检查trace文件,没有发现有用的信息。
重启数据库,数据库能打开,但不到一分钟实例就crash。在alert日志中的错误信息均如上所示。
在网上及在metalink中以ktprhtnew6为关键字搜索,没有找到相似的BUG和案例。同时当时手边是用的163拨号上网,速度非常慢,只有通过分析来解决问题。
仔细分析alert日志可以发现是在做事务恢复时SMON出错,导致实际中止:
Fatal internal error happened while SMON was doing active transaction recovery.
我们知道ORA-600错误后面参数,如果像ktprhtnew6这样的均表示出错的函数。这里可以看出是在做并行恢复:
[K]enerl [T]ransaction [P]arallel [R]ecovery
设置fast_start_parallel_rollback参数为false,关闭数据库的并行恢复功能,重启数据库,数据库正常,故障消失。
alter system set FAST_START_PARALLEL_ROLLBACK=false;