问题描述
某客户系统遇到了如下错误:
Sun Nov 27 21:38:47 2011 Errors in file /oracle/admin/db/udump/db1_ora_840402.trc: ORA-00600: internal error code, arguments: [KSSRMP1], [], [], [], [], [], [], [] Sun Nov 27 21:42:59 2011 Trace dumping is performing id=[cdmp_20111127214138] Sun Nov 27 23:27:08 2011 LCK0: terminating instance due to error 481 Sun Nov 27 23:27:08 2011 Errors in file /oracle/admin/db/bdump/db1_lmon_95666.trc: ORA-29740: evicted by member 1, group incarnation 23
专家解答
这个600错误是用于释放SO对象时,发现该对象不存在导致的,这是内存管理上的问题,MOS上的描述如下:
DESCRIPTION: An attempt was made to free a state object which is already on a free list. This is generally an in-memory error caused by a mismanagement of state objects. FUNCTIONALITY: STATE OBJECT MANAGER IMPACT: PROCESS FAILURE NON CORRUPTIVE - No underlying data corruption. SUGGESTI*****: For repeatable occurrances and further analysis, please submit the trace files (include any PMON traces also) and alert.log to Oracle Support Services.
进程堆栈信息如下:
*** 2011-11-27 21:38:47.679 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [KSSRMP1], [], [], [], [], [], [], [] Current SQL statement for this session: update STA_MISS_HEAD set RST_FLAG='1',ERR_CODE=:b0,ERR_MSG=:b1 where SEQ_NO=:b2 ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedmp+0148 bl ksedst 1027E5984 ? ksfdmp+0018 bl 01FD7B34 kgerinv+00e8 bl _ptrgl kgesinv+0020 bl kgerinv 000000006 ? 000000000 ? 000000000 ? 1027E4B28 ? 1027E4B14 ? ksesin+005c bl kgesinv 1000B268C ? 110077D20 ? 100000001 ? 1101EE808 ? 110005648 ? kssrmpm+01bc bl ksesin 1027E4E78 ? 000000000 ? 04ED23D67 ? 15A728831934131 ? 125A1CD1B9E7B698 ? 45E69F482DB02CF ? 12E0BE826D694B2F ? 000000000 ? ksqdeli+016c bl kssrmpm 10285BACC ? 700001048FE0148 ? ksqdel+0014 bl ksqdeli 07FFFFFFF ? 000000001 ? 0000000AB ? FFFFFFFFFFEDA48 ? 000002000 ? ktusm_shrinkoff+03e bl ksqdel FFFFFFFFFFECE90 ? 000000021 ? 8 0FFFECE68 ? FFFFFFFFFFECE40 ? ktusmasp1r+02a4 bl ktusm_shrinkoff 000C358EC ? 2000FFFEDA48 ? ktrsexec+0a44 bl _ptrgl ktusmasp+00a0 bl ktrsexec FFFFFFFFFFEDA60 ? ktuchg+0764 bl ktusmasp 000000000 ? 000000000 ? 000000000 ? 000000000 ? ktbchg2+00a4 bl ktuchg 200000002 ? 70000104E2A97CC ? 100000001 ? 11038EE48 ? 11038EE50 ? 110291338 ? 11038E4B0 ? 110291228 ?
根据进程堆栈信息中的 ktusm_shrinkoff 调用,我们判定这是BUG 2814657导致的:
Bug 2814657 OERI:4412 / OERI:KSSRMP1 under ktusm_shrinkoff using System Managed undo Versions confirmed as being affected 9.2.0.4 Fixed: This issue is fixed in 9.2.0.5 (Server Patch Set) 10.1.0.2 (Base Release) Description An ORA-600 [4412 or ORA-600 [KSSRMP1] can occur with ktusm_shrinkoff on stack when using system managed undo. Workaround: Add more space to the undo tablespace to avoid undo shrink.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。