在 11.2.0.4 執行 utlrp.sql 出現 ORA-04031 錯誤解決方法
上次遇到一個案例:
在客戶現場11.2.0.4版本執行utlrp.sql 編譯指令碼時,出現以下錯誤:
ORA-12801: error signaled in parallel query server P237
ORA-12853: insufficient memory for PX buffers: current 84352K, max needed 13280400K
ORA-04031: unable to allocate 65560 bytes of shared memory (“large pool”,”unknown object”,”large pool”,”PX msg pool”)
ORA-06512: at “SYS.UTL_RECOMP”, line 804
ORA-06512: at line 4
原因是:
Cause
The degree of parallelism used for recompilation is determined automatically based on instance parameters cpu_count and parallel_threads_per_cpu.
On systems with high number of cpus that can lead to high degree of parallelism and lead to high memory usage overall and high memory usage in the large pool since it is used by parallel execution for message buffers.
By default utlrp.sql passes a 0 to utlprp.sql:
從上面解釋可以知道依賴於cpu_count的值和parallel_threads_per_cpu的值,如果cpu多,這個並行度就會高,導致large pool會使用更多的記憶體
所以解決這個問題就簡單了
減少例項的並行度值
alter system set PARALLEL_MAX_SERVERS=5 scope=both;
alter system set PARALLEL_SERVERS_TARGET=2 scope=both;
編譯成功。
在客戶現場11.2.0.4版本執行utlrp.sql 編譯指令碼時,出現以下錯誤:
ORA-12801: error signaled in parallel query server P237
ORA-12853: insufficient memory for PX buffers: current 84352K, max needed 13280400K
ORA-04031: unable to allocate 65560 bytes of shared memory (“large pool”,”unknown object”,”large pool”,”PX msg pool”)
ORA-06512: at “SYS.UTL_RECOMP”, line 804
ORA-06512: at line 4
原因是:
Cause
The degree of parallelism used for recompilation is determined automatically based on instance parameters cpu_count and parallel_threads_per_cpu.
On systems with high number of cpus that can lead to high degree of parallelism and lead to high memory usage overall and high memory usage in the large pool since it is used by parallel execution for message buffers.
By default utlrp.sql passes a 0 to utlprp.sql:
從上面解釋可以知道依賴於cpu_count的值和parallel_threads_per_cpu的值,如果cpu多,這個並行度就會高,導致large pool會使用更多的記憶體
所以解決這個問題就簡單了
減少例項的並行度值
alter system set PARALLEL_MAX_SERVERS=5 scope=both;
alter system set PARALLEL_SERVERS_TARGET=2 scope=both;
編譯成功。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-1840822/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 執行Bex 出現 61704 錯誤
- 診斷並解決ORA-04031 錯誤
- 執行impdp時出現ORA-39154錯誤的解決案例
- 執行jdonMVC示例出現了錯誤MVC
- ORA-04031錯誤詳解
- Nginx出現413 Request Entity Too Large錯誤解決方法Nginx
- 隨身碟出現防寫錯誤的解決方法
- apache出現 403 permission 和404 not fund錯誤(解決方法)Apache
- ORA-04031錯誤分析和解決
- steam確認錯誤執行此操作時出現問題怎麼解決
- LoadRunner在執行時常見的提示錯誤和解決方法
- 行動硬碟引數錯誤怎麼解決?行動硬碟開啟出現引數錯誤的修復方法硬碟
- Python: 安裝 sklearn 包出現錯誤的解決方法Python
- php抓取https網址出現錯誤的解決方法PHPHTTP
- 在RAC 中解決 vipca 和 srvctl 無法執行的錯誤PCA
- 如何解決ORA-04031 錯誤(轉)
- 如何解決ORA-04031 錯誤(zt)
- Win10系統瀏覽器提示“出現了執行時間錯誤”的解決方法步驟!Win10瀏覽器
- JDBC執行出現ORA-17410錯誤JDBC
- sql出現結果集錯誤以及出現ora-600或者ora-7445錯誤的解決方法思路SQL
- scp出現錯誤的解決辦法
- 編譯EJB出現錯誤的解決編譯
- ontape出現段錯誤(未解決篇)
- 執行無法解決的編譯錯誤編譯
- XP系統出現記憶體讀寫錯誤解決方法記憶體
- Win7 IIS7.5執行ASP時出現500錯誤的解決辦法Win7
- scalatest在idea和maven中執行錯誤的問題解決IdeaMaven
- 執行Tensorboard出現kernel is dead的解決方法ORB
- 在LINUX下用EXP匯出資料時出現EXP-00091錯誤的解決方法Linux
- mysql執行函式出現1418錯誤MySql函式
- 卡巴斯機 任務執行時出現錯誤
- exchange出現1025錯誤!(未解決)
- ant構建時出現錯誤解決方案
- win10 mstsc出現內部錯誤怎麼修復_win10 mstsc出現內部錯誤解決方法Win10
- 安裝vCenter Server出現1603錯誤的一種解決方法Server
- git push出現unpack failed: error Missing tree錯誤的解決方法GitAIError
- windows10系統升級助手出現錯誤的解決方法Windows
- IIS 7.5 解析錯誤 命令執行漏洞解決方案