问题描述
10.2.0.4 RAC环境的ASM实例出现这个ORA-7445错误。
错误信息为:
Fri DEC 3 19:49:49 2010 Errors IN file /opt/app/oracle/admin/+ASM/bdump/+asm2_lck0_19876.trc: Fri DEC 3 19:50:44 2010 Errors IN file /opt/app/oracle/admin/+ASM/bdump/+asm2_ckpt_19863.trc: ORA-07445: exception encountered: core dump [kgskhighthreshold()+32] [SIGSEGV] [Address NOT mapped TO object] [0x0000001F6] [] [] Fri DEC 3 19:51:00 2010 Trace dumping IS performing id=[cdmp_20101203195100] Fri DEC 3 19:51:27 2010 ospid 19851: network interface WITH IP address 10.10.10.2 IS now running Fri DEC 3 19:51:42 2010 Errors IN file /opt/app/oracle/admin/+ASM/bdump/+asm2_pmon_19843.trc: ORA-00469: CKPT process TERMINATED WITH error Fri DEC 3 19:51:42 2010 Errors IN file /opt/app/oracle/admin/+ASM/bdump/+asm2_lmon_19849.trc: ORA-00469: CKPT process TERMINATED WITH error Fri DEC 3 19:51:43 2010 PMON: terminating instance due TO error 469
专家解答
显然这个ORA-7445的错误最终导致了实例的崩溃,而检查对应的CKPT进程,确发现,导致问题的原因是ORADEBUG命令:
*** 2010-12-03 19:49:49.146 *** SERVICE NAME:() 2010-12-03 19:49:47.380 *** SESSION ID:(36.1) 2010-12-03 19:49:47.380 Received ORADEBUG command 'dump errorstack 1' FROM process Unix process pid: 19845, image: *** 2010-12-03 19:49:49.164 ksedmp: internal OR fatal error ----- Call Stack Trace ----- calling CALL entry argument VALUES IN hex location TYPE point (? means dubious VALUE) -------------------- -------- -------------------- ---------------------------- 惗?ksedst()+31 CALL ksedst1() 000000000 ? 000000001 ? 7FBFFFB0F0 ? 7FBFFFB150 ? 7FBFFFB090 ? 000000000 ? ksedmp()+610 CALL ksedst() 000000000 ? 000000001 ? 7FBFFFB0F0 ? 7FBFFFB150 ? 7FBFFFB090 ? 000000000 ? ksdxfdmp()+1118 CALL ksedmp() 000000001 ? 000000001 ? 7FBFFFB0F0 ? 7FBFFFB150 ? 7FBFFFB090 ? 000000000 ? ksdxcb()+1547 CALL ksdxfdmp() 7FBFFFC240 ? 000000011 ? 000000003 ? 7FBFFFC380 ? 7FBFFFC2E0 ? 000000000 ? sspuser()+111 CALL ksdxcb() 000000002 ? 000000011 ? 000000001 ? 000000001 ? 7FBFFFC2E0 ? 000000000 ? __funlockfile()+64 CALL sspuser() 000000002 ? 000000011 ? 000000001 ? 000000001 ? 7FBFFFC2E0 ? 000000000 ? __libc_poll()+47 signal __funlockfile() 7FBFFFCE20 ? 000000002 ? 000000BB8 ? FFFFFFFFFFFFFFFF ? 000000BB8 ? 000000000 ? --------------------- Binary Stack Dump ---------------------
本身ORADEBUG就是Oracle未公开的工具,而在不恰当的时候去执行一些命令,导致Oracle出现异常也是非常正常的。
这个故障提醒我们,任何内部的工具都是双刃剑,使用不当就可能会造成严重的后果,因此在产生环境中使用一定要谨慎。
最后修改时间:2019-04-14 10:55:53
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。