警示:一個專為AIX上11.2.0.4版本定製的Bug正在高發
有這麼一個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 中。
這個錯誤的根本原因還是堆疊記憶體上的訪問錯誤,其觸發原因很多。一個案例的發生時,資料庫系統記憶體自動調整頻繁。我們建議AIX上的使用者在維護時,考慮修復這個問題。
在以上堆疊中,可以看到在呼叫 kghstack_free 函式,在進行堆疊釋放時出現錯誤,也就是堆疊的資訊儲存出現了不一致,這是程式碼中的BUG導致的。
鑑於這個BUG最近的多發性,警示使用者,引起注意,至少在遇到這個錯誤時,能夠快速的進行定位確認。
也歡迎同樣遇到這個BUG的朋友,進行反饋。
文章來自微信公眾號:資料和雲