PX Deq Credit: send blkd Nedir?
Wait eventi yüksek miktardaki datalar üzerinde parallel işlemler
çalışıtırıken ortaya çıkar. Normalde bu eventin gözükmesi doğaldı. Ancak bu
eventteki bekleme süresi 2-3 saniyeden fazla ise parallel işlemin tune edilmesi
gerekir.Bekleme süresini aşağıdaki sql den öğrenebilirsiniz.
Beklemenin sebebi ise parallel
işlemler sonuçları QC proseslere göndermesi
sırasında large pool 'ın dolmasından kaynaklanır. Bu durumda LARGE_POOL_SIZE değerini ve PARALLEL_EXECUTION_MESSAGE_SIZE
değerini
artırmanız gerekir. Bu işlem içinde uygun memory’ ye sahip olmanız gerekir.
LARGE_POOL_SIZE
Format LARGE_POOL_SIZE = integer [K | M | G] şeklindedir.Eğer SGA_TARGET değeri set edilmiş
ise ve large_pool_size değeri set edilmedi ise default olrark 0 değerini alır.
Değer internal olarak oracle tarafından belirlenir. Değer 300K ile 2G arasında
set edilebilir. Eğer ASM instance kullanıyorsanız bu değer en azında 600K
olmalıdır.
PARALLEL_EXECUTION_MESSAGE_SIZE;
Parametresi parallel işlemler sırasında olulşan messagel arın boyutunu
belirler. Bu değerin artırılması memory kullanımını artırır. PARALLEL_AUTOMATIC_TUNING parametresi eğer true olarak set edilmişse default PARALLEL_EXECUTION_MESSAGE_SIZE değeri 4096 , false olarak set edilmişse default değer 2048 dir.
PARALLEL_EXECUTION_MESSAGE_SIZE parametresi için
atanabilecek maximum değer 65535 dir.
--Parallel işlemler
ne kadar süre bekliyor fikir sahibi olmak için aşağıdaki gibi bir sql
çalıştırılabilir.
SELECT
s.inst_id,
S.USERNAME,
PX.SID,
PX.SERIAL#,
S.SQL_ID,
PX.SPID,
PX.STATUS,
S.EVENT,
PX.SERVER_NAME,
S.OSUSER,
S.MACHINE,
S.MODULE,
S.PREV_EXEC_START,
S.SECONDS_IN_WAIT
FROM GV$PX_PROCESS px, Gv$SESSION s
WHERE
px.sid = s.sid
AND s.event = 'PX Deq Credit: send blkd'
AND px.serial# = s.serial#
AND S.SECONDS_IN_WAIT > 3
Özcan
YILDIRIM
0 YORUM:
Yorum Gönder
"Sorularınız ve Eleştirileriniz Değerlidir"