【ORA-4030/4031】自動記憶體管理AMM中的ORA-4030/4031問題
在AMM 自動記憶體管理中, Oracle 可以自動的調節 PGA 和 SGA 。那 oracle 怎麼會耗盡記憶體呢?
ORA-4030 錯誤發生是因為沒有足夠的記憶體給 PGA,ORA-4031 錯誤發生是因為沒有足夠的記憶體給 SGA 。
如果分配的SGA 消耗完,整個 PGA (空閒記憶體)也消耗完,然後記憶體耗盡, ORA-4030 和 ORA-4031 問題就會出現,這也就意味著 memory_target 的大小不夠大。
在SGA 上設定以下限制可能會導致記憶體短缺:
1 )如果 sga_max_size 設定了,這是 SGA 的上限,如果記憶體程式需要更多的 SGA ,那系統就會報 ORA-4031 錯誤。
2 )如果 sga_target 設定了,這是 SGA 的下限,如果進行需要更多的私有記憶體( PGA ),那麼就會報 ORA-4030 錯誤。但如果程式需要記憶體的是 PL/SQL ,那麼它可以從伺服器中獲得更多額外的記憶體。
設定sga_target 仍然是 Oracle 建議的,因為這樣記憶體總會給出一部分給 SGA 使用。
對於ORA-4030, 也有可能是作業系統的限制引起的。尤其是, 32-bit 平臺的 4G 記憶體限制,以及 UNIX 平臺的 ulimit 設定,後者限制程式可以訪問的最大記憶體。
---- end ----
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529886/viewspace-2712281/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ora-4031(ora-4030)診斷分析ora-4031(ora-4030)診斷分析
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- ORACLE AMM 、ASMM 、自動記憶體管理(官方手冊)OracleASM記憶體
- "KGH: NO ACCESS"記憶體分配過大,引起的ORA-4031故障記憶體
- 自動共享記憶體管理 自動記憶體管理 手工記憶體管理記憶體
- 重啟listener解決的ora-4030問題
- 通過記憶體鎖定,解決ORA-4031錯誤記憶體
- 自動記憶體管理記憶體
- Oracle11g自動記憶體管理(AMM)相關的初始化引數Oracle記憶體
- oracle的自動記憶體管理Oracle記憶體
- 記憶體自動管理與手動管理記憶體
- Oracle 記憶體自動管理--關閉自動管理Oracle記憶體
- 一次ORA-4030問題診斷及解決(三)
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- interval partition自動新增分割槽引起的shared pool 4031錯誤
- 將手動記憶體管理變為自動管理記憶體 ORACLE 11G記憶體Oracle
- JVM學習-自動記憶體管理JVM記憶體
- 2 Day DBA-管理Oracle例項-管理記憶體-修改記憶體設定-自動記憶體管理Oracle記憶體
- 12_shared記憶體塊組成結構及4031錯誤產生原因分析記憶體
- ORA-4031解決思路
- 報表資料庫4031資料庫
- 對於ORA-4031在10gR2中常見原因,過大的“"KGH: NO ACCESS"”記憶體分配(801787.1)記憶體
- JVM學習筆記——自動記憶體管理JVM筆記記憶體
- oracle 11g自動記憶體管理Oracle記憶體
- JVM自動記憶體管理機制 二JVM記憶體
- 開啟oracle記憶體自動化管理Oracle記憶體
- Oracle ORA-4031解決思路Oracle
- iOS 問題整理07----記憶體管理iOS記憶體
- oracle 10g 自動共享記憶體管理Oracle 10g記憶體
- javascript中的記憶體管理JavaScript記憶體
- iOS 中的記憶體管理iOS記憶體
- project中的堆疊記憶體,記憶體地址引用,gc相關問題Project記憶體GC
- 動態記憶體管理記憶體
- Simplified Approach to Resolve ORA-4031APP
- Oracle診斷工具 - ORA-4030 Troubleshooting ToolOracle
- 記憶體管理篇——實體記憶體的管理記憶體
- Unix/Linux 系統自動化管理: 記憶體管理篇Linux記憶體
- oracle 11G 自動記憶體管理設定Oracle記憶體