ora-00600[2662]错误处理方法

用户做异机RMAN恢复,recover时因归档不够,报ORA-01547,如下:

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oradata/coredb/data/system.257.926944765'</span>
数据库恢复报错后 ,使用了隐含参数_ALLOW_RESETLOGS_CORRUPTION启动后; resetlogs方式成功OPEN了数据库; 然后在业务用户使用TOAD连接数据库时,报错:ORA-00600:[2662],[0],[2678436968],[0],[2678442920]。 

 对于ORA-00600[2662]的参数MOS上如下解释: 

If the SCN is less than the dependent SCN then we signal the ORA-600 [2662] internal error. ARGUMENTS: Arg [a] Current SCN WRAP Arg [b] Current SCN BASE Arg [c] dependent SCN WRAP Arg [d] dependent SCN BASE Arg [e] Where present this is the DBA where the dependent SCN came from 

从报错截图结合对2662错误的解释,这里可以发现这里是Current SCN比dependent SCN小了6000左右,由于数据库能OPEN,OPEN后的数据库Current SCN是会自然增长的; 

因此建议用户反复做了几次检查点alter system checkpoint;切换日志:SQL> alter system switch logfile;反复重启了几次数据库,通过检查select current_scn from v$database; ,查出的current_scn大于报错住处中的dependent SCN后,业务用户使用TOAD正常连接,不再报错。

 注:select current_scn from v$database; 方式查询SCN会导致SCN增加,可以参考我以前的 BLOG:http://blog.csdn.net/haibusuanyun/article/details/11590983 而使用dbms_flashback.get_system_change_number方式查询SCN不因查询而变化 [email protected]>select dbms_flashback.get_system_change_number current_scn from dual; 这里也变相引出一个本文案例中增加SCN的方法:写循环反复执行select current_scn from v$database;

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值