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 ......
oracle wait event:cursor: pin S wait on X
cursor: pin S wait on XµÈ´ýʼþµÄ´¦Àí¹ý³Ì
http://database.ctocio.com.cn/tips/114/8263614_1.shtml
cursor: pin S wait on XµÈ´ý£¡
http://www.itpub.net/viewthread.php?tid=1003340
½â¾öcursor: pin S wait on X ÓÐʲôºÃ°ì·¨:
http://www.itpub.net/thread-1163543-1-8.html
cursor: pin S wait on X:
http://space.itpub.net/756652/viewspace-348176
cursor: pin S:
http://yumianfeilong.com/html/2008/11/01/254.html
OTNµÄ½âÊÍ,
cursor: pin SA session waits on this event when it wants to update a shared mutex pin and another session is currently in the process of updating a shared mutex pin for the same cursor object. This wait event should rarely be seen because a shared mutex pin update is very fast.(Wait Time: Microseconds)
Parameter Description
P1 Hash value of cursor
P2 Mutex value (top 2 bytes contains SID holding mutex in exclusive mode, and bottom two bytes usually hold the value 0)
P3 Mutex where (an internal code locator) OR’d with M ......
¹ØÓÚlatchºÍmutexµÄÎÊÌâ
from:http://www.itpub.net/thread-1004815-1-1.html
A:
latchÊÇãÅËø£¬ÊÇÒ»ÖÖ´®Ðл¯»úÖÆ£¬ÓÃÀ´±£»¤SGAÖеÄÄÚ´æ½á¹¹¡£
mutexÊÇʲô£¬Ò²ÊÇÒ»ÖÖ´®Ðл¯»úÖÆ£¬ÊÇ»¥³âËø£¿
¸öÈ˶ÔmutexûÓÐʲô¸ÅÄî¡£Õâ¸öÊÇ10GÐÂÒý½øµÄ£¿9IºÃÏñûÓа¡¡£
ÄÄλÃ÷°×ÈË£¬¸ø°ïæÏêϸ½âÊÍÏÂmutex£¬×îºÃ»¹ÄܺÍlatch ×öϱȽϡ£
лл¡£
B:
BTW, things get more fun in 10.2, you can pin cursors without getting library cache pin latch, using KGX mutexes. Mutexes are new in 10.2 and they enable shared access to objects in somewhat similar manner to shared latche; every successful get of a particular mutex will increment its value and a release will decrement. When the count is zero, no one has the mutex and it is safe to get it in exclusive mode. However, they are more fine-grained than kgl latches and provide a better wait mechanism, as far as I understand.
So if your environment supports atomic compare and swap operation (such as CMPXCHG on Intel), you might get away without cursor_space_for_time setting for u ......
oracle ´Ó10.2.0.2 µ½ 10.2.0.4 Éý¼¶
Ò»¡¢ÏÂÔØÉý¼¶°ü
ÏÂÔØµØÖ·£º
ftp://updates.oracle.com/6810189/p6810189_10204_Linux-x86.zip
×¢Ò⣺²»ÒªÓÃflashgetÏÂÔØ£¬ÓÃѸÀ×ÏÂÔØ¡£Îļþ´óС1G¶à¡£
¶þ¡¢¹Ø±ÕÊý¾Ý¿â
ÒÔoracleÓû§Ô¶³ÌµÇ¼suseϵͳ:
1. sqlplus /nolog
SQL> connect /as sysdba
SQL> shutdown immediate;
Ò»°ãÇé¿öÏ¿ÉÒÔÕý³£¹Ø±Õ¡£Èç¹û²»Äܹرգ¬¿ÉÒÔÇ¿ÖÆ¹Ø±Õ¡£
¹Ø±ÕËùÓÐµÄ oracle ½ø³Ì£º
ps -ef|grep orac*
Èç¹ûÓеϰ£¬ÓÃkilÃüÁî¡£
2. Õý³£¼àÌý
lsnrctl stop
Èý¡¢½âѹÉý¼¶°ü
unzip p6810189_10204_Linux-p6810189_10204_Linux-x86.zip
ÔÚĿ¼Ï½«»áÉú³ÉÒ»¸öDisk1µÄÎļþ¼Ð¡£
ËÄ¡¢°²×°Ç°×¼±¸
Èç¹ûÊÇÔÚÖն˰²×°Éý¼¶°üµÄ»°£¬ºÜÓпÉÄÜ»áÅöµ½ÏÂÃæµÄ´íÎó£º
Could not execute auto check for display colors using command /usr/X11R6/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
ÔÚ°²×°Ö®Ç°Òª»¹Òª×öЩ¹¤×÷¡£ÎÒÊÇͨ¹ýsshÀ´·ÃÎʰ²×°»úÆ÷µÄ£¬Òò´ËÐèÒªÔÚWINDOWS»úÆ÷ÏÂÅäÖÃÒ»¸ö¿ÉÒÔת·¢X11µÄÈí¼þ¡£
ÏÂÔØµØÖ·£º
1. xmingÏÂÔØ×îаæsourceforge.net/projects/xming/
°²×°º ......
Óï·¨:
substr( string, start_position, [ length ] )
È¡×Ó×Ö·û´®,´Óstart_position¿ªÊ¼,È¡length¸ö,lengthΪ¿ÉÑ¡£¬Èç¹ûlengthΪ¿ÕÔò·µ»Østart_positionºóµÄËùÓÐ×Ö·û¡£
ʵÀý:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', 1, 4) would return 'Tech'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'
substr('TechOnTheNet', -8, 2) would return 'On'
select substr('TechOnTheNet', -3, 2) from dual
start_positionΪ¸ºÊýʱ£¬±íʾ´Ó×Ö·û´®Î²°Íµ¹×ÅÊý
(thismonth)תÌù£ºhttp://hi.baidu.com/stanver/blog/item/710fbd1bae7e58118618bf31.html ......
lengthb(string)¼ÆËãstringËùÕ¼µÄ×Ö½Ú³¤¶È :·µ»Ø×Ö·û´®µÄ³¤¶È£¬µ¥Î»ÊÇ×Ö½Ú
length(string)¼ÆËãstringËùÕ¼µÄ×Ö·û³¤¶È :·µ»Ø×Ö·û´®µÄ³¤¶È£¬µ¥Î»ÊÇ×Ö·û
¶ÔÓÚµ¥×Ö½Ú×Ö·û,LENGTHBºÍLENGTHÊÇÒ»ÑùµÄ.
Èç¿ÉÒÔÓÃlength(‘string’)=lengthb(‘string’)ÅжÏ×Ö·û´®ÊÇ·ñº¬ÓÐÖÐÎÄ¡£
select length('ÎÒ') from dual --·µ»Ø1
select lengthb('ÎÒ') from dual --·µ»Ø2
select length('AB') from dual --·µ»Ø2
select lengthb('AB') from dual --·µ»Ø2
£¨thismonth£©×ªÌù£ºhttp://space.itpub.net/161195/viewspace-613263 ......