首页 > 代码库 > 简单记录一次ORA-00600: internal error code, arguments: [2662]

简单记录一次ORA-00600: internal error code, arguments: [2662]

接上一个,REDO报错搞定后OPEN数据库时又报错ORA-00600: internal error code, arguments: [2662]。

原因是_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库,我们可能会因为SCN不一致而遭遇到ORA-00600 2662号错误( current scn 小于undo block scn)

现象及解决--这个没拍照參考EYGLE的样例吧

Sun Dec 11 18:02:25 2005
Errors in file /opt/oracle/admin/conner/udump/conner_ora_13349.trc:
ORA-00600: internal error code, arguments: [2662], [0], [547743994], [0], [898092653], [8388617], [], []
Sun Dec 11 18:02:27 2005

此时我们能够通过Oracle的内部事件来调整SCN:

增进SCN有两种经常用法:

1.通过immediate trace name方式(在数据库Open状态下)

alter session set events ‘IMMEDIATE trace name ADJUST_SCN level x‘;

2.通过10015事件(在数据库无法打开,mount状态下)

alter session set events ‘10015 trace name adjust_scn level x‘;

注:level 1为增进SCN 10亿 (1 billion) (1024*1024*1024),通常Level 1已经足够。也能够依据实际情况适当调整。

LEVEL的计算规则:

ORA-00600: internal error code, arguments: [2662], [0], [547743994], [0], [898092653], [8388617], [], []
ORA-00600: internal error code, arguments: [2662], [a], [b], [c], [d], [e], [], []
A CRUUENT SCN WRAP B--CURRENT SCN BASE C--DEPENDENT SCN WRAP D--DEPENDENT SCN BASE E--where present this is the dba where the dependent scn came from.
d< 1024*1024*1024=1073741824 时,须要的LEVEL为:c*4+1
d< 1024*1024*1024*2=1073741824*2 时,须要的LEVEL为:c*4+2

还能够通过设置隐含參数_minimum_giga_scn 高速递增CURRENT SCN。2012年1月后的PSU中包括隐含參数_external_scnrejection_threshold_hours,此时隐含參数和10015事件会失效。
參考链接   周亮DBA实战攻略  http://www.eygle.com/archives/2005/12/oracle_diagnostics_howto_deal_2662_error.html


简单记录一次ORA-00600: internal error code, arguments: [2662]