Oracle日常問題處理ORA-04031
Oracle日常問題處理
ORA-04031
環境:
DB:Oracle 11.2.0.1.0
OS:Windows Server 2008
問題現象:
資料庫經常當機,重啟後沒過幾天又出現問題。
問題原因:
檢視問題期間告警日誌可知是由ORA-04031 報錯引起資料庫不可用:
ORA-04031: unable to allocate 2968 bytes of shared memory ("shared pool","insert into smon_scn_time (t...","sga heap(2,0)","call")
從對應的trace日誌 中可以看到, " KGH: NO ACCESS " 型別的記憶體佔用了很大的空間。
如下文件解釋了這個問題:
ORA-04031 in 11g & 11gR2, Excess "KGH: NO ACCESS" Memory Allocation ( Doc ID 1127833.1 )
這個型別的記憶體是當共享池和DB Cache 進行切換時的中間狀態的記憶體,如果切換過於頻繁,就會導致這種記憶體累積,並無法正常利用。
相關的Bug 一般在 11.2.0.2 或 11.2.0.3,11.2.0.4.0 版本修復;
並且從AWR 報告也可以看到, Shared Pool Size 比 Buffer Cache 記憶體高很多,也能推測出可能是 AMM 記憶體自動管理出了問題。
解決方案:
從根本上解決:
1 升級到 11.2.0.4 版本
推薦的補充方案:
2 給 shared_pool_size 和 db_cache_size 設定一個最小值,減少記憶體自動切換的可能性
可選方案:
3 設定 alter system set "_memory_broker_stat_interval"=999;
強制規定最少999 秒切換一次。
相關文件:
ORA-04031 和 ORA-04030 經常容易搞混,可以看下面的文章瞭解更多關於 ORA-04031 和 ORA-04030 錯誤。
ORA-4031 錯誤故障排除與診斷[視訊] (Doc ID 2016002.1)
OERR: ORA-4031 "unable to allocate %s bytes of shared memory ("%s","%s","%s")" (Doc ID 4031.1)
診斷並解決 ORA-4030 錯誤 (Doc ID 1548826.1)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2675635/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12c因bug導致ORA-04031問題處理過程Oracle
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- oracle SP2-問題處理Oracle
- ORACLE問題處理十個指令碼Oracle指令碼
- Oracle日常問題-壞塊修復Oracle
- linux處理oracle問題常用命令LinuxOracle
- Oracle CPU使用率過高問題處理Oracle
- ORACLE懸疑分散式事務問題處理Oracle分散式
- 達夢資料庫日常管理之問題處理筆記1資料庫筆記
- pyinstaller打包cx_Oracle庫問題處理記錄Oracle
- oracle系統表空間過大問題處理Oracle
- Oracle 記一次ORA-00001問題處理Oracle
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- 打Oracle PSU時碰到的一些問題處理Oracle
- Oracle 11g ORA-600 [kjbrcrcvt:lms] 問題處理Oracle
- Oracle資料庫處理壞塊問題常用命令Oracle資料庫
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- redhat7 搭建oracle 11g RAC 問題與處理RedhatOracle
- 【ERROR】儲存鏈路問題造成oracle錯誤,ora-600[4193] 問題處理ErrorOracle
- golang json處理問題GolangJSON
- [git] git問題處理Git
- 日常問題分享
- Oracle OER 7451 in Load Indicator : Error Code = OSD-04500的問題處理OracleIndicatorError
- Oracle X9M ORA-15001 ORA-15018問題處理Oracle
- 銀河麒麟系統安裝ORACLE資料庫問題處理Oracle資料庫
- 日常的問題也是日常的修行
- Oracle日常問題-資料庫無法啟動(案例二)Oracle資料庫
- Oracle資料庫日常問題-歸檔異常增長Oracle資料庫
- 併發問題處理方式
- Linux 問題處理集錦Linux
- 處理SQLServer errorlog滿問題SQLServerError
- 資料處理--pandas問題
- Ubuntu處理依賴問題Ubuntu
- Oracle SQL處理OracleSQL
- PHP 開發版本問題處理PHP
- 【故障處理】TNS-04610問題
- JVM問題分析處理手冊JVM
- gc buffer busy acquire問題處理GCUI