ORA-12805: parallel query server died unexpectedly ORA-04030 (sort subheap,sort key) 原因排查與解決方法


 

今日,某服務器pga調整為30G,_pga_max_size調整為8G之后(原來是2G,但是one passes語句較多,性能太低),執行出現ORA-12805: parallel query server died unexpectedly錯誤,即使僅使用了parallel(2),一發一收算4,而且pga_aggregate_target是個軟限制,理論上不應該會出現才對,調整為6G之后依然如此。有些提及ulimit設置較低的問題,經查全部為unlimited,故不應該是這個問題。

也有提及,使用manual PGA管理,但是改代碼復雜,故沒有采納進行測試。

因為沒有使用交換區,內存空閑剩下大約8G(總共物理內存128G)不到,是有可能真的申請不到物理內存的。

MOS上關於這個錯誤還是挺多的,如下:

We are facing Ora- 4030 errors on 11GR2 Stadard Edition.  Please help!!

ORA-04030: out of process memory when trying to allocate 64544 bytes (sort subheap,sort key)
ORA-06512: at "TENANT2WH_AV.P24_AGG_MAINT", line 2774
ORA-06512: at "TENANT2WH_AV.S_FILL_AGG_AVAIL_15MIN", line 22
ORA-06512: at line 1

 

I have enabled the trace "alter system set events '4030 trace name heapdump level 536870917;name errorstack level 3'"

Dump continued from file: /u000/app/diag/rdbms/avwhamer/AVWHAMER/trace/AVWHAMER_ora_20381872.trc
ORA-04030: out of process memory when trying to allocate 64544 bytes (sort subheap,sort key)

========= Dump for incident 261244 (ORA 4030) ========
----- Beginning of Customized Incident Dump(s) -----
=======================================
TOP 10 MEMORY USES FOR THIS PROCESS
---------------------------------------

*** 2011-09-28 00:39:06.429
50%   56 MB, 230 chunks: "kllcqas:kllsltba          "  SQL
         QERGH hash-agg  ds=110e73248  dsprt=110d820b8
41%   46 MB, 

大概率問題也是在hash group by復雜邏輯的bug上。而且幾個語句問題必現,所以要么物理內存不足,要么出發了bug。

查看/var/log/messages,如下:

基本確定是物理內存不足所致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM