语言
<< 返回文章列表

警示:一个专为AIX上11.2.0.4版本定制的Bug正在高发

2017年12月4日
盖国强
1912

有这么一个Bug,仅在AIX平台上,Oracle Database 11.2.0.4的版本中出现,在12.1中被修复,之前和之后都不存在,所以简直是为这一版本定制的。


之前一些客户零星的遇到这个问题,而在2017年最近的几个月,几个客户接连遇到这个问题,所以我想还是写下这篇文章,作为一个提示。


这个BUG是:

Bug 20675347 AIX: ORA-7445 [kghstack_overflow_internal] or ORA-600 [kghstack_underflow_internal_2] in 11.2.0.4 on IBM AIX 


当这个ORA-7445 [kghstack_overflow_internal] or ORA-600 [kghstack_underflow_internal_2] 错误出现在告警日志时,数据库实例通常就会崩溃,需要重新启动。


为什么会出现这个专属的错误呢?这个Bug的原因是 AIX C编译代码产生的BUG -  AIX C compiler code generation bug,这个BUG的修正被包含在  AIX Bundle 2 for Oracle Database 11.2.0.4 中。


以下是一次错误出现的日志,最终出现错误的LMS进程终止了实例:


image.png


这个错误的根本原因还是堆栈内存上的访问错误,其触发原因很多。一个案例的发生时,数据库系统内存自动调整频繁。我们建议AIX上的用户在维护时,考虑修复这个问题。


image.png

在以上堆栈中,可以看到在调用 kghstack_free 函数,在进行堆栈释放时出现错误,也就是堆栈的信息存储出现了不一致,这是代码中的BUG导致的。


鉴于这个BUG最近的多发性,警示用户,引起注意,至少在遇到这个错误时,能够快速的进行定位确认。


也欢迎同样遇到这个BUG的朋友,进行反馈。

000.jpg