kewastUnPackStats(): oracle 11.2.0.1的bug解決方法

wangyiou1988發表於2013-11-26
今天檢查alert日誌,發現出現了這個錯誤:

kewastUnPackStats(): bad magic 1 (0x0000000042A995D0, 0)
kewastUnPackStats(): bad magic 1 (0x0000000042A997E0, 0)
kewastUnPackStats(): bad magic 1 (0x0000000042A997E0, 0)
kewastUnPackStats(): bad magic 1 (0x0000000042A99800, 0)
kewastUnPackStats(): bad magic 1 (0x0000000042A997F8, 0)
......................
發現這是個oralce 11.2.0.1的bug, (Bug 8730312) , 原因是在訪問V$ACTIVE_SESSION_HISTORY檢視時,由於NULL字元導致錯誤的ASH資料,ASH每秒從v$session中取快照,存到V$ACTIVE_SESSION_HISTORY中,收集所有活動會話的等待資訊。
解決方案有兩種:
1:修改control_management_pack_access引數
SQL>show parameter control_management_pack_access;
1      control_management_pack_access  string  DIAGNOSTIC+TUNING
SQL>alter system set control_management_pack_access='none'  scope=both;
2.  升級打補丁,有哥們反映,打補丁要關閉資料庫。

    我不建議使用第一種修復方案。修改為none,會禁用掉很多ORACLE的特性包括ADDM,對AWR收據收集影響很大,ASH也就沒有了。這個問題現在看起來似乎對資料庫的效能影響並不大。如果不修改,也不打補丁,後果可能是:1.在procedure裡用了hint,編譯的時候,過程掛死。2.pl/sql連線會慢。
   因為是在生產庫裡,不能關閉資料庫,所以,我決定還是先不動作,等以後有機會打補丁。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25116248/viewspace-1061138/,如需轉載,請註明出處,否則將追究法律責任。

相關文章