客户数据库10.1.0.4碰到这个ORA-600错误。
详细错误信息为:
Sat Feb 4 13:04:31 2006 ALTER DATABASE MOUNT Sat Feb 4 13:04:31 2006 Errors IN file /oracle/admin/orcl/bdump/orcl_ckpt_122986.trc: ORA-00600: internal error code, arguments: [kccida_kccsgfsz], [], [], [], [], [], [], [] Sat Feb 4 13:04:32 2006 Errors IN file /oracle/admin/orcl/bdump/orcl_ckpt_122986.trc: ORA-00600: internal error code, arguments: [kccida_kccsgfsz], [], [], [], [], [], [], [] Sat Feb 4 13:04:32 2006 CKPT: terminating instance due TO error 470 Instance TERMINATED BY CKPT, pid = 122986 |
查询MOS发现和文档Alter Database Mount Returns ORA-3113 And ORA-600 [kccida_kccsgfsz] [ID 315112.1]描述的问题一致。导致问题的原因是客户在迁移或断电等因素导致控制文件和数据文件的格式不兼容。
在下次重启时,告警日志中出现的下面的信息也说明了这一点:
Sat Feb 4 13:20:15 2006 ALTER DATABASE mount Sat Feb 4 13:20:15 2006 Controlfile IDENTIFIED WITH block SIZE 16384 |
显然导致这个问题的原因和客户之前的恢复或迁移操作有关。如果如bug所述,数据库是直接从其他平台拷贝到当前环境下,那么正确的方法肯定是通过逻辑备份EXP/EXPDP进行数据库的迁移。
而如果和当前的情况类似,由于异常导致控制文件的损坏,可以考虑从备份中进行恢复或直接重建控制文件。