遭遇2662错误,
Thu Jul 24 00:45:47 2014 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Thu Jul 24 00:45:47 2014 ARC0: Becoming the 'no FAL' ARCH ARC0: Becoming the 'no SRL' ARCH Thu Jul 24 00:45:47 2014 ARC1: Becoming the heartbeat ARCH Thu Jul 24 00:45:47 2014 SMON: enabling cache recovery Thu Jul 24 00:45:47 2014 Errors in file /ora10g/admin/lu10g/udump/lu10g_ora_16481.trc: ORA-00600: internal error code, arguments: [2662], [0], [10480758], [0], [10480787], [4194313], [], [] Thu Jul 24 00:45:48 2014 Errors in file /ora10g/admin/lu10g/udump/lu10g_ora_16481.trc: ORA-00600: internal error code, arguments: [2662], [0], [10480758], [0], [10480787], [4194313], [], [] Thu Jul 24 00:45:48 2014 Error 600 happened during db open, shutting down database USER: terminating instance due to error 600 Instance terminated by USER, pid = 16481 ORA-1092 signalled during: alter database open resetlogs...
根据《谈谈adjust_scn的计算方法》的方式处理,使用adjust处理的计算过程如下:
因为c=0所以c*4=0,因为D=10480787 < 1073741824,所以WRAP=0+1,所以整个adjust的level 为1,则处理的语句为如下:
alter session set events ‘IMMEDIATE trace name ADJUST_SCN level 1’;
当然这里也可以通过oradebug poke的方式更改scn的wrap+1以达到一样的效果.
登录数据库执行处理如下:
SQL> conn / as sysdba Connected to an idle instance. SQL> startup mount ORACLE instance started. Total System Global Area 318767104 bytes Fixed Size 1267260 bytes Variable Size 100665796 bytes Database Buffers 213909504 bytes Redo Buffers 2924544 bytes Database mounted. SQL> alter session set events 'IMMEDIATE trace name ADJUST_SCN level 1'; Session altered. SQL> alter database open; Database altered.
至此数据库已经打开,此时应该用dump工具导出数据重建数据库,因为此时数据库运行会非常艰难,后台会不断报错,比如:
ORA-00600: internal error code, arguments: [kcsadjn1], [], [], [], [], [], [], []
所以建议还是需要做好备份以及容灾,避免出现各类问题。当然这里的scn还可以通过其他推进scn的方式来解决,比如在11204版本后,就需要使用其他手段来推进SCN,传统方式在110204已经不支持,具体参考以前写的手工推荐scn的5种方式。