【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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【記憶體管理】Oracle AMM自動記憶體管理詳解記憶體Oracle
- ORACLE AMM 、ASMM 、自動記憶體管理(官方手冊)OracleASM記憶體
- 聊聊昨天說的那個ORA-4030
- ORA-4031解決思路
- Oracle ORA-4031解決思路Oracle
- 【記憶體管理】Oracle如何使用ASMM自動共享記憶體管理記憶體OracleASM
- JVM學習-自動記憶體管理JVM記憶體
- JVM學習筆記——自動記憶體管理JVM筆記記憶體
- JVM自動記憶體管理機制 二JVM記憶體
- oracle 11g自動記憶體管理Oracle記憶體
- iOS 問題整理07----記憶體管理iOS記憶體
- javascript中的記憶體管理JavaScript記憶體
- project中的堆疊記憶體,記憶體地址引用,gc相關問題Project記憶體GC
- 記憶體管理篇——實體記憶體的管理記憶體
- 例子:酒店列表滑動記憶體增大的問題記憶體
- 排查Java的記憶體問題Java記憶體
- 記憶體管理 記憶體管理概述記憶體
- 當心ORACLE 12.2 RAC新特性引入的BUG導致ORA-4031Oracle
- Java的記憶體 -JVM 記憶體管理Java記憶體JVM
- golang手動管理記憶體Golang記憶體
- SQLServer記憶體問題分析SQLServer記憶體
- 探究 iOS 記憶體問題iOS記憶體
- JVM記憶體管理面試常見問題全解JVM記憶體面試
- 【JVM故障問題排查心得】「記憶體診斷系列」JVM記憶體與Kubernetes中pod的記憶體、容器的記憶體不一致所引發的OOMKilled問題總結(上)JVM記憶體OOM
- 【JVM故障問題排查心得】「記憶體診斷系列」JVM記憶體與Kubernetes中pod的記憶體、容器的記憶體不一致所引發的OOMKilled問題總結(下)JVM記憶體OOM
- C結構體中資料的記憶體對齊問題結構體記憶體
- Java應用程式中的記憶體洩漏及記憶體管理Java記憶體
- JVM 自動記憶體管理機制及 GC 演算法JVM記憶體GC演算法
- ThreadLocal記憶體洩漏問題thread記憶體
- 記憶體分配問題處理記憶體
- 【記憶體管理】記憶體佈局記憶體
- 解決golang 的記憶體碎片問題Golang記憶體
- JVM調優——Java動態編譯過程中的記憶體溢位問題JVMJava編譯記憶體溢位
- 「前端進階」JS中的記憶體管理前端JS記憶體
- Java記憶體模型FAQ(五)舊的記憶體模型有什麼問題?Java記憶體模型
- python的記憶體管理Python記憶體
- CF的記憶體管理。記憶體
- JavaScript的記憶體管理JavaScript記憶體