ITPub博客

首页 > 数据库 > Oracle > 记一次并行恢复问题导致Oracle数据库Crash故障的处理

记一次并行恢复问题导致Oracle数据库Crash故障的处理

原创 Oracle 作者:yingzimizhan 时间:2015-09-01 11:33:48 0 删除 编辑
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;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26129555/viewspace-1788308/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-08-03

  • 博文量
    36
  • 访问量
    123812