ORA-00600[2662]处理记录

一、问题描述

1、数据库情况

版本11.2.0.4;未开启归档

2、问题详情

数据库down了,之后重启主机,并调整了系统时间,再次打开时报错如下。

二、问题分析、处理思路

经过网搜,得知ORA-00600[2662]原因如下:
1)A data block SCN is ahead of the current SCN.(SCN不一致)
2)Bug 14351566 ORA-600 [kclchkblk_4] ORA-600 [2662] when doing flash back;
排除了Bug可能,错误基本定位在SCN不一致上面。
因为没有可用的日志、备份、归档等条件,只能采用重建控制文件,并通过设置Oracle内部隐含参数_allow_resetlogs_corruption=TRUE跳过一致性检查,强制open数据库。

三、处理步骤

1、参数文件加入_allow_resetlogs_corruption=TRUE

alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile;
最后记得改回来
--alter system set "_allow_resetlogs_corruption" = false scope=spfile;

2、重建控制文件

3、使用oradebug poke推进SCN

在实际这类工作中,我们实际应该是要认真计算好需要推进SCN的值,而不应图省事直接给一个很大的值。

在以上过程中出现的其他一些错误的处理,都比较容易解决,在此不再赘述。
关键的是,此时出了ORA-600[4193]/[4194]错误,导致无法启动数据库,对于这个错误的处理,另文描述。
处理完4193/4194错误后,数据库就打开了。

标签:

《ORA-00600[2662]处理记录》有1个想法

  1. 可能数据库主机时间调整太大引发600内部错误,不完全确认,小的调整是可以的,大调整没试过,有空时可测试下

发表评论

电子邮件地址不会被公开。 必填项已用*标注