检查客户数据库告警日志时,发现ORA-600(2103)错误。
这是一个9208 RAC for Linux 32bit环境,当出现这个错误时,LGWR进程CRASH,导致数据库实例DOWN掉:
Sun Dec 7 18:15:02 2008
Errors in file /u01/product/admin/RAC/bdump/rac2_lgwr_491766.trc:
ORA-00600: internal error code, arguments: [2103], [0], [0], [1], [900], [], [], []
Sun Dec 7 18:15:03 2008
Errors in file /u01/product/admin/RAC/bdump/rac2_lgwr_491766.trc:
ORA-00600: internal error code, arguments: [2103], [0], [0], [1], [900], [], [], []
Sun Dec 7 18:15:03 2008
LGWR: terminating instance due to error 600
Sun Dec 7 18:15:08 2008
System state dump is made for local instance
Sun Dec 7 18:15:09 2008
Trace dumping is performing id=[cdmp_20081207181504]
DIAG: terminating instance due to error 1092
Instance terminated by DIAG, pid = 680052
虽然这已经是三年前发生的事情了,但是考虑到客户数据库的版本并未升级,因此还是要关注一下问题。
对于9.2及以上版本,参数2103后面紧跟的第一位参数是更新/只读标识,第二位是队列标识,第三位是是否等待标识,最后一位是TIMEOUT时间。
简单的说,Oracle等待控制文件队列超时,并最终导致了LGWR进程CRASH。
根据目前的信息判断,问题多半和18:00启动的定时任务有关,这个任务可能是EXP或RMAN备份,可能由于大量的IO或对控制文件的锁定,导致了这个错误的产生。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-708998/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-708998/