联系:手机/微信(+86 17813235971) QQ(107644445)
标题:ASMM表空间强制终止DML操作导致ORA-600 [ktspfupdst-1]
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
发现错误ORA-00600 [ktspfupdst-1],trace关键内容如下
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options JServer Release 9.2.0.8.0 - Production ORACLE_HOME = /oracle9/app/product/9.2.0 System name: AIX Node name: zwq_crm1 Release: 3 Version: 5 Machine: 00C420B44C00 Instance name: crm1 Redo thread mounted by this instance: 1 Oracle process number: 389 Unix process pid: 1896900, image: oracle@zwq_crm1 (TNS V1-V3) ---------------------------------------------- *** 2012-03-31 02:50:48.509 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [ktspfupdst-1], [], [], [], [], [], [], [] ORA-00604: error occurred at recursive SQL level 1 ORA-01013: user requested cancel of current operation Current SQL statement for this session: INSERT INTO XIFENFEI SELECT * FROM T_XFF ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedmp+0148 bl ksedst 1029746FC ? ksfdmp+0018 bl 01FD4014 kgerinv+00e8 bl _ptrgl kgeasnmierr+004c bl kgerinv 000000001 ? 000000000 ? 000000005 ? 000000001 ? 000000001 ? ktspfupdst+0540 bl kgeasnmierr 110006308 ? 1103994E8 ? 102A9239C ? 000000000 ? 000000005 ? 000000010 ? 000000020 ? 000000006 ? ktspstchg+00e4 bl ktspfupdst 000000060 ? 300000004 ? FFFFFFFFFFF6E48 ? 50601CE000000ED ? 3B401B34C5D02F2A ? B92000004000020 ? kdoiur+062c bl ktspstchg 000000000 ? 700000C39D779E8 ? 000000000 ? kcoubk+00e4 bl _ptrgl ktundo+0988 bl kcoubk 1010CCD80 ? FFFFFFFFFFF76C0 ? 100ED51C0 ? FFFFFFFFFFF7150 ? 1101FAF78 ? 1102567C0 ? 700000C396A1300 ? 000000002 ? ktubko+03bc bl ktundo 1840DFB30 ? 3B401B3400000002 ? 000000000 ? 000000000 ? FFFFFFFFFFF85D8 ? 700000C80A1E880 ? 2FFFF8540 ? FFFFFFFFFFF8780 ? ktuabt+0638 bl ktubko DF000000DF ? FFFFFFFFFFF8690 ? 000000000 ? FFFFFFFFFFF85D8 ? 102973880 ? 700000C844FA418 ? ktcrab+02b4 bl ktuabt 700000C80A1E840 ? 200017CD8 ? ktcrsp+026c bl ktcrab 100F698E4 ? 000000001 ? ksures+0074 bl ktcrsp 700000C844FA448 ? opiexe+3380 bl 01FD4138 opiall0+102c bl opiexe 400000000 ? 110002A48 ? FFFFFFFFFFFA0A0 ? kpoal8+0a78 bl opiall0 5EFFFFBED4 ? 22103A43F8 ? FFFFFFFFFFFA5B8 ? 000000000 ? FFFFFFFFFFFA508 ? 1103A4B00 ? 6FF00000738 ? 24000000007FFF ? opiodr+08cc bl _ptrgl ttcpip+0cc4 bl _ptrgl opitsk+0d60 bl ttcpip 11000CF90 ? 000000000 ? 000000000 ? 000000000 ? 000000000 ? 000000000 ? 000000000 ? 000000000 ? opiino+0758 bl opitsk 000000000 ? 000000000 ? opiodr+08cc bl _ptrgl opidrv+032c bl opiodr 3C00000018 ? 4101FAF78 ? FFFFFFFFFFFF7B0 ? 0A000F350 ? sou2o+0028 bl opidrv 3C0C000000 ? 4A00E8B50 ? FFFFFFFFFFFF7B0 ? main+0138 bl 01FD3A28 __start+0098 bl main 000000000 ? 000000000 ? --------------------- Binary Stack Dump ---------------------
这里可以得到信息如下:
1)系统平台aix 5.3,数据库版本9.2.0.8 rac
2)这个错误可能和一个insert select操作,然后取消有关系
表空间管理方式
SQL> SELECT tablespace_name, SEGMENT_SPACE_MANAGEMENT from dba_tablespaces 2 where tablespace_name= 3 (select tablespace_name from dba_tables where table_name='XIFENFEI'); TABLESPACE_NAME SEGMEN ------------------------------ ------ CUSTSERV AUTO
查看MOS发现和[ID 388599.1]相符
错误原因:
1. An insert or update on a table causes the addition of a new extent and the operation is cancelled. 2. The segment uses Automatic Segment Space Management (ASSM). 3. The call stack in the associated trace file resembles: ktspfupdst ktspstchg kdoiur kcoubk ktundo ktubko ktuabt ktcrab ktcrsp
解决方法:
官方给出方案就是升级到新版本,不过可以采取一个比较折中的处理方案,先想办法导出或者备份该对象数据,然后trunate或者重建表和相关index操作,解决该问题