联系:手机/微信(+86 17813235971) QQ(107644445)
标题:truncate table强制终止导致ORA-00600[ktspfundo-2]
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
朋友的金蝶erp系统异常abort,让我帮忙分析原因.
ORA-00600[ktspfundo-2]错误
Fri Jul 27 08:53:33 2012 Errors in file /u01/oracle/admin/finance/udump/finance_ora_7687.trc: ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] ORA-01013: user requested cancel of current operation Fri Jul 27 08:53:33 2012 Errors in file /u01/oracle/admin/finance/udump/finance_ora_7687.trc: ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] ORA-01013: user requested cancel of current operation Fri Jul 27 08:54:16 2012 Errors in file /u01/oracle/admin/finance/udump/finance_ora_7687.trc: ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] ORA-01013: user requested cancel of current operation Fri Jul 27 08:57:12 2012 Errors in file /u01/oracle/admin/finance/bdump/finance_smon_4156.trc: ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] Fri Jul 27 08:57:20 2012 ORACLE Instance finance (pid = 15)-Error 600 encountered while recovering transaction (8, 3) on object 34294107. Fri Jul 27 08:57:20 2012 Errors in file /u01/oracle/admin/finance/bdump/finance_smon_4156.trc: ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] Fri Jul 27 09:07:14 2012 Errors in file /u01/oracle/admin/finance/bdump/finance_smon_4156.trc: ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], [] Fri Jul 27 09:07:15 2012 Errors in file /u01/oracle/admin/finance/bdump/finance_pmon_4130.trc: ORA-00474: SMON process terminated with error
从这里可以大概看出数据库在进行一个参数,然后用户终止该操作导致,导致ORA-00600[ktspfundo-2]错误,然后出现smon回滚,因为回滚失败从而使得数据块down掉
分析trace文件
*** 2012-07-27 08:53:33.293
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [ktspfundo-2], [], [], [], [], [], [], []
ORA-01013: user requested cancel of current operation
Current SQL statement for this session:
TRUNCATE TABLE VTC3B8DR2G7J926FWOBK839XOR
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+31 call ksedst1() 000000000 ? 000000001 ?
7FFF41B0EE70 ? 7FFF41B0EED0 ?
7FFF41B0EE10 ? 000000000 ?
ksedmp()+610 call ksedst() 000000000 ? 000000001 ?
7FFF41B0EE70 ? 7FFF41B0EED0 ?
7FFF41B0EE10 ? 000000000 ?
ksfdmp()+21 call ksedmp() 000000003 ? 000000001 ?
7FFF41B0EE70 ? 7FFF41B0EED0 ?
7FFF41B0EE10 ? 000000000 ?
kgerinv()+161 call ksfdmp() 000000003 ? 000000001 ?
7FFF41B0EE70 ? 7FFF41B0EED0 ?
7FFF41B0EE10 ? 000000000 ?
kgeasnmierr()+163 call kgerinv() 0068966E0 ? 2AE87C6E1168 ?
7FFF41B0EED0 ? 7FFF41B0EE10 ?
000000000 ? 000000000 ?
ktspfundo()+3902 call kgeasnmierr() 0068966E0 ? 2AE87C6E1168 ?
7FFF41B0EED0 ? 7FFF41B0EE10 ?
000000010 ? 00689C0C0 ?
kcoubk()+351 call ktspfundo() 7FFF41B10810 ? 2AE80C800CFA ?
4D6EE6014 ? 000000002 ?
000000010 ? 7FFF41B11128 ?
ktundo()+1208 call kcoubk() 7FFF41B111F8 ? 7FFF41B10810 ?
2AE87E384024 ? 000000002 ?
000000002 ? 000000000 ?
ktubko()+499 call ktundo() 000000001 ? 010E5C341 ?
2AE87E384020 ? 000000058 ?
000008430 ? 7657E9990 ?
ktuabt()+810 call ktubko() 7657E9990 ? 7FFF41B1188C ?
000000002 ? 7FFF41B11648 ?
7FFF41B11570 ? 7FFF41B11870 ?
ktcrab()+292 call ktuabt() 7657E98F8 ? 000000002 ?
000000002 ? 7FFF41B11648 ?
7FFF41B11570 ? 7FFF41B11870 ?
ktccle()+516 call ktcrab() 7657E98F8 ? 000000002 ?
000000002 ? 7FFF41B11648 ?
7FFF41B11570 ? 7FFF41B11870 ?
ksepop()+384 call ktccle() 000000006 ? 000000002 ?
000000002 ? 7FFF41B11648 ?
7FFF41B11570 ? 7FFF41B11870 ?
kgepop()+123 call ksepop() 0068966E0 ? 000000006 ?
000000002 ? 7FFF41B11648 ?
7FFF41B11570 ? 7FFF41B11870 ?
kgesev()+315 call kgepop() 0068966E0 ? 2AE87C6E1168 ?
0000003F5 ? 7FFF41B11648 ?
7FFF41B11570 ? 7FFF41B11870 ?
ksesec0()+186 call kgesev() 0068966E0 ? 2AE87C6E1168 ?
0000003F5 ? 000000000 ?
7FFF41B11B30 ? 7FFF41B11870 ?
ksqcmi()+2322 call ksesec0() 000000000 ? 000000000 ?
000001000 ? 000000000 ?
000000013 ? 000000005 ?
ksqcnv()+496 call ksqcmi() 77E586B88 ? 000000006 ?
00000FFFF ? 00147AE14 ?
7FFF41B126A0 ? 7FFF41B128A8 ?
ksqcov()+44 call ksqcnv() 77E586B88 ? 000000006 ?
000000000 ? 00147AE14 ?
7FFF41B128A8 ? 000000004 ?
kcbo_reuse_obj()+14 call ksqcov() 77E586B68 ? 000000006 ?
09 000000000 ? 00147AE14 ?
7FFF41B128A8 ? 000000004 ?
kcbrbo()+1126 call kcbo_reuse_obj() 7FFF41B12F04 ? 7FFF41B12F0C ?
000000001 ? 00147AE14 ?
7FFF41B128A8 ? 000000004 ?
ktsstrn_segment()+3 call kcbrbo() 7FFF41B12F04 ? 7FFF41B12F0C ?
941 000000001 ? 00147AE14 ?
7FFF41B128A8 ? 000000004 ?
kkbtts_trunc_tbl_se call ktsstrn_segment() 7FFF41B13180 ? 000000000 ?
g()+1018 0020C6444 ? 000000000 ?
7FFF41B14C00 ? 7FFF00000001 ?
kkbtrn()+8156 call kkbtts_trunc_tbl_se 735ACA058 ? 77BC78D18 ?
g() 000000000 ? 000000002 ?
000000000 ? 7FFF41B14C00 ?
opiexe()+15805 call kkbtrn() 735ACA058 ? 000000000 ?
718831208 ? 000000000 ?
000000002 ? 7FFF00000000 ?
opiosq0()+3316 call opiexe() 000000004 ? 000000000 ?
7FFF41B15F48 ? 00000000B ?
000000002 ? 7FFF00000000 ?
kpooprx()+315 call opiosq0() 000000003 ? 00000000E ?
7FFF41B160B8 ? 0000000A4 ?
000000002 ? 7FFF00000000 ?
kpoal8()+799 call kpooprx() 7FFF41B19264 ? 7FFF41B17280 ?
000000029 ? 000000001 ?
000000000 ? 7FFF00000000 ?
opiodr()+984 call kpoal8() 00000005E ? 000000017 ?
7FFF41B19260 ? 000000001 ?
000000001 ? 7FFF00000000 ?
ttcpip()+1012 call opiodr() 00000005E ? 000000017 ?
7FFF41B19260 ? 000000000 ?
0059C09B0 ? 7FFF00000000 ?
opitsk()+1322 call ttcpip() 00689E3B0 ? 7FFF41B17248 ?
7FFF41B19260 ? 000000000 ?
7FFF41B18D58 ? 7FFF41B193C8 ?
opiino()+1026 call opitsk() 000000003 ? 000000000 ?
7FFF41B19260 ? 000000001 ?
000000000 ? 4E58D8C00000001 ?
opiodr()+984 call opiino() 00000003C ? 000000004 ?
7FFF41B1A428 ? 000000000 ?
000000000 ? 4E58D8C00000001 ?
opidrv()+547 call opiodr() 00000003C ? 000000004 ?
7FFF41B1A428 ? 000000000 ?
0059C0460 ? 4E58D8C00000001 ?
sou2o()+114 call opidrv() 00000003C ? 000000004 ?
7FFF41B1A428 ? 000000000 ?
0059C0460 ? 4E58D8C00000001 ?
opimai_real()+163 call sou2o() 7FFF41B1A400 ? 00000003C ?
000000004 ? 7FFF41B1A428 ?
0059C0460 ? 4E58D8C00000001 ?
main()+116 call opimai_real() 000000002 ? 7FFF41B1A490 ?
000000004 ? 7FFF41B1A428 ?
0059C0460 ? 4E58D8C00000001 ?
__libc_start_main() call main() 000000002 ? 7FFF41B1A490 ?
+244 000000004 ? 7FFF41B1A428 ?
0059C0460 ? 4E58D8C00000001 ?
_start()+41 call __libc_start_main() 000723088 ? 000000002 ?
7FFF41B1A5E8 ? 000000000 ?
0059C0460 ? 000000002 ?
--------------------- Binary Stack Dump ---------------------
这里可以得到更加准确的信息,数据库在truncate table的时候,有人异常终止程序,导致数据库出现ORA-00600[ktspfundo-2].查询mos未发现相关bug记录,从这些信息初步判断是因为oracle的bug导致在truncate表的时候异常终止,然后出现该对象上的回滚记录异常(当然truncate本身不需要回滚,但是可能记录一些附带的回滚信息),然后出现对象回滚异常是的数据库down.重启数据库,对象回滚段信息已经自动回滚完成,数据库正常.因为truncate表被异常终止的情况本身不多见,引发该bug更不常见,如果只是偶尔发生一次,建议忽略该错误.当然如果有时间和兴趣,可以提交sr
哦,应该是用EAS的朋友半天无反应就结束任务造成的