7 x 24 在线支持!
ORA-00600: internal error code, arguments: [16513], [1403], [20] Oracle数据库恢复一例
某国内数据库系统由于存储故障导致ASM diskgroup损坏,后续恢复过程中在open database阶段遇到了ORA-00600: [16513], [1403], [20]:ORA-00600: internal error code, arguments: [16513], [1403], [20], [], [], [], [], []
ORA-00600: internal error code, arguments: [16513], [1403], [20]
ORA-00600: internal error code, arguments: [16513], [1403], [20], [], [], [], [], [] Current SQL statement for this session: alter database open ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ssd_unwind_bp: unhandled instruction at 0x76add1 instr=f ksedst()+31 call ksedst1() 000000000 ? 000000001 ? 7FFF04273960 ? 7FFF042739C0 ? 7FFF04273900 ? 000000000 ? ksedmp()+610 call ksedst() 000000000 ? 000000001 ? 7FFF04273960 ? 7FFF042739C0 ? 7FFF04273900 ? 000000000 ? ksfdmp()+63 call ksedmp() 000000003 ? 000000001 ? 7FFF04273960 ? 7FFF042739C0 ? 7FFF04273900 ? 000000000 ? kgeriv()+176 call ksfdmp() 006AE9A20 ? 000000003 ? 7FFF04273960 ? 7FFF042739C0 ? 7FFF04273900 ? 000000000 ? kgesiv()+119 call kgeriv() 006AE9A20 ? 00DAC5398 ? 000000000 ? 2B749C907FA0 ? 7FFF04273900 ? 000000000 ? ksesic2()+215 call kgesiv() 006AE9A20 ? 00DAC5398 ? 000004081 ? 000000002 ? 7FFF042748A0 ? 000000000 ? kqdpts()+351 call ksesic2() 006AE9A20 ? 000000000 ? 00000057B ? 000000000 ? 000000014 ? 000000000 ? kqrlfc()+314 call kqdpts() 55DF9CE78 ? 000000000 ? 00000057B ? 000000000 ? 000000014 ? 000000000 ? kqlbplc()+153 call kqrlfc() 55DF9CE78 ? 7FFF04274BC0 ? 00000057B ? 000000000 ? 000000014 ? 000000000 ? kqlblfc()+263 call kqlbplc() 000000000 ? 7FFF04274BC0 ? 00000057B ? 000000000 ? 000000014 ? 000000000 ? adbdrv()+58009 call kqlblfc() 000000000 ? 7FFF0427B450 ? 00000057B ? 000000000 ? 000000014 ? 000000000 ? opiexe()+13745 call adbdrv() 000000000 ? 7FFF0427B450 ? 536FEDDF8 ? 000000000 ? 000000014 ? 000000000 ? opiosq0()+3398 call opiexe() 000000004 ? 000000000 ? 7FFF0427C60C ? 000000001 ? 000000014 ? 000000000 ? kpooprx()+318 call opiosq0() 000000003 ? 00000000E ? 7FFF0427C938 ? 0000000A4 ? 000000000 ? 600000013 ? kpoal8()+783 call kpooprx() 7FFF0427FB1C ? 7FFF0427DB48 ? 000000013 ? 000000001 ? 000000000 ? 600000013 ? opiodr()+1184 call kpoal8() 00000005E ? 000000017 ? ORA-01555 caused by SQL statement below (SQL ID: 4krwuz0ctqxdt, SCN: 0x0cdc.c2a516cc): ORA-00600: internal error code, arguments: [16513], [1403], [20], [], [], [], [], [] ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [16513], [1403], [20], [], [], [], [], [] Error 704 happened during db open, shutting down database USER: terminating instance due to error 704
该open database 失败时的ORA-00600: [16513]错误并不常见,根据其stack call看:kqrlfc=>kqdpts=>报错
kqrlfc =>KQR Kernel SQL Row cache management component Load Fixed Cache 代表加载基本row cache字典缓存
kqdpts => Kernel Query Dictionary Patch Time Stamps
可以看到该16513 属于 16500 dict/rowcache this layer provides support to load / cache Oracle’s dictionary in memory in the library cache; 即问题指向在加载字典缓存时oracle遇到了严重的问题。
该问题后续通过手动patch数据字典来绕过了。