ORA-600(2103)错误

检查客户数据库告警日志时,发现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或对控制文件的锁定,导致了这个错误的产生。

This entry was posted in BUG and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *