oracle wait event:PX Deq Credit: send blkd
Just a few days ago a got to two Oracle DBAs discussing why the have so much “PX Deq Credit : send blkd” on a system. And if that is causing their performance problems.
The are some blog on the internet claiming it has to do with qc distribution and what ever.
But in many cases, especial if you experince huge waits on “PX Deq Credit : send blkd” the explanation can be much simpler. But first some background information.
If a query is run in parallel there is a query coordinator (QC) and the query slaves. The slaves do the actual work an send the result to the query coordinator. This is done through message buffers which you specified with the parallel_execution_message_size.
This buffer exists in the large or in the shared pool depending how PARALLEL_AUTOMATIC_TUNING is set.
Metalink states about the PX Deq Credit: send blkd event
This is considered as idle wait event.
You should investigate the sender (decode the senderid).
There is no general advice to reduce the waitime for this event.
The process wishes to send a message and does not have the flow control credit. Process must first dequeue a message to obtain the credit. Indicates that the receiver has not dequeued and/or completely consumed the prior message yet.
from that statement you could believe that is a idle even an you don’t need to care.
In this case the waits were cause by a query which look similar to this:
insert into tablex values (select /*+ parallel(32) */ from tabley);
Now it pretty clear from where the waits are coming. Since parallel query is enabled by default, but parallel dml is disabled, you feed a single insert process with 32 slaves. the insert process can never consume that much.
So the question is now, does that indicate a performance problem?
Yes, I does!
It indicates that your developer didn’t perform right. He played with parallel query without knowing what he does.
It eats your memory and produces unnecessary process on your sys
Ïà¹ØÎĵµ£º
---------Êýѧº¯Êý ---------------
¡¡¡¡1.¾ø¶ÔÖµ
¡¡¡¡S:select abs(-1) value
¡¡¡¡O:select abs(-1) value from dual
¡¡¡¡2.È¡Õû(´ó)
¡¡¡¡S:select ceiling(-1.001) value
¡¡¡¡O:select ceil(-1.001) value from dual
¡¡¡¡3.È¡Õû£¨Ð¡£©
¡¡¡¡S:select floor(-1.001) value
¡¡¡¡O:select floor(-1.001) value from ......
ͨ¹ýJAVAµ÷ÓÃORACLEµÄ´æ´¢¹ý³Ì£¬ÔÚORACLEµÄ´æ´¢¹ý³ÌÄÚ²¿×öÁËÒ»¸ö²éѯÔÚJAVAÖлñÈ¡¸Ã²éѯ½á¹û£¬Õâ¸öºÍSYBASE¡¢SQLSERVERµÄ»ñÈ¡²»Ò»Ñù£¬µÈÎÒµÄÏÂһƪÎÄÕÂÎÒ»á½éÉÜÈçºÎ»ñÈ¡SYBASE¡¢SQLSERVERÔÚ´æ´¢¹ý³ÌÖÐÖ´ÐÐÁ˲éѯºóÈçºÎ»ñÈ¡Æä½á¹û¼°´æ´¢¹ý³ÌµÄ±àд¡£
ÔÚOracleÖÐÐèÒª·µ»Ø²éѯ½á¹û¼¯£¬±ØÐ뽫ÆäÒÔÓαêµÄÐÎʽ·µ»Ø£¬µ«ÓαêÓÖ²»ÊÇ ......
Ò»¡¢¹ØÓÚ»ù´¡±í
Oc_COJ^c680758
rd-A6z\&[1R1] H680758
Oracle
10G֮ǰ£¬ÆôÓÃAUTOTRACE¹¦ÄÜÐèÒªÊÖ¹¤´´½¨plan_table±í£¬´´½¨½Å±¾Îª$ORACLE_HOME/rdbms/admin
/utlxplan.sql¡£µ«ÔÚ10gÖУ¬ÒѾĬÈÏ´´½¨ÁËPLAN_TABLE$µÄ»ù±í£¬²¢ÒÔpublicÓû§´´½¨ÁËÏàÓ¦µÄͬÒå´ÊPUBLIC¡£ITPUB¸öÈË¿Õ¼äDR#IlHrT
ITPUB¸ ......
oracleʵÏÖºº×Ö°´ÕÕÆ´Òô¡¢±Ê»ºÍ²¿Ê×ÅÅÐò
ÕÒÁËÏà¹ØµÄһЩ×ÊÁÏ£¬¶¼ËµµÄ²»ÊǺÜÇå³þ£¬×Ô¼ºÒ²Ñо¿ÁËÏ£¬ÖÕÓÚ¸ãÃ÷°×ÁË£¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
ÐèҪ˵Ã÷µÄÊÇÏÂÃæµÄ·½·¨ÐèÒªORACLE9iºÍÒÔÉϵİ汾²ÅÖ§³Ö¡£
Oracle9i֮ǰ£¬ÖÐÎÄÊÇ°´ÕÕ¶þ½øÖƱàÂë½øÐÐÅÅÐòµÄ¡£
ÔÚoracle9iÖÐÐÂÔöÁË°´ÕÕÆ´Òô¡¢²¿Êס¢±Ê»ÅÅÐò¹¦ÄÜ¡£ÉèÖÃNLS_SORTÖµ
......
½ñÌì¿Í»§µÄÒ»Ì×RAC»·¾³³öÏÖÎÊÌâ
Ë«½ÚµãRAC»·¾³ÖУ¬Ò»¸ö½ÚµãÒòΪËø¾ºÕù¶ø¹ÒÆð£¬shutdownÖ®ºóÎÞ·¨Æô¶¯¡£
¹ÊÕϳöÏÖʱÎÒÕýÔÚ·ÉÏ£¬´Ò´Ò»Øµ½¼ÒÖУ¬´¦Àí¹ÊÕÏ¡£
½â¾öÖ®ºó²éÕÒ¹ÊÕÏÔÒò¡£
¼ì²éµ±Ê±µÄAWRÐÅÏ¢·¢ÏÖTop 5 Timed EventsÏÔʾÈçÏÂÐÅÏ¢£º
Top 5 Timed Events &nb ......