共计 982 个字符,预计需要花费 3 分钟才能阅读完成。
客户 10.2.0.4 RAC 环境出现 ORA-600[17147] 和 ORA-7445[__lwp_kill] 错误。
错误信息为:
Fri Dec 14 16:05:56 2012
Errors in file /Oraclelog/admin/orcl/bdump/orcl2_diag_27263.trc:
ORA-07445: exception encountered: core dump [__lwp_kill()+48] [SIGIOT] [unknown code] [0x000006A7F] [] []
ORA-00600: internal error code, arguments: [17147], [0x9FFFFFFFFD3E6BB8], [], [], [], [], [], []
Fri Dec 14 16:06:06 2012
Restarting dead background process DIAG
DIAG started with pid=6, OS id=12243
报错的进程是 DIAG 进程,出现错误后引发了 ORA-7445 错误,这个__lwp_kill 函数在 MOS 中没有记录,但是在 SUN 的文档中找到了相关函数说明,这是操作系统关闭轻量级进程(lightweight process)是的函数调用。因此问题应该是 diag 出现了 ORA-600[17147] 错误,随后 Oracle 尝试通过系统函数调用__lwp_kill 结束进程,但是引发了错误。
根据 MOS 文档 Bug 7028176 – Memory corruption / OERI:17147 in DIAG in RAC [ID 7028176.8],当前的错误是 10.2.0.4 上的 BUG,在 RAC 环境中出现私有内存错误导致 DIAG 进程出现 ORA-600[17147] 错误。
Oracle 在 10.2.0.4.4 和 10.2.0.5 解决了这个错误。这种内存异常导致的错误一般并不会重现,出现的几率相对较低,因此如果没有大量报错也可以选择忽略。如果确实报错比较频繁,Oracle 还在多个平台上都提供了这个 BUG 的单独 PATCH。
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143514.htm