【Oracle】並行等待之PX Deq: Execute Reply
本系列文章將會介紹在並行操作過程中 slave 程式和 QC 程式經常遇到的等待事件!
Waiting Process: QC
協調器正在等待一個 從slaves 程式對控制資訊的響應(確認通知)或者期望從slave程式集中獲取資料。這個等待事件意味著QC等待slaves結束執行sql 並且將結果集傳送給QC
v$session_wait 中該等待事件對應的引數:
P1 = sleeptime/senderid
P2 = passes
P3 = not used
我們可以使用如下語句獲取轉換sleeptime/senderid的相關資訊:
set SERVEROUTPUT on
undef p1
declare
inst varchar(20);
sender varchar(20);
begin
select bitand(&&p1, 16711680) - 65535 as SNDRINST,
decode(bitand(&&p1, 65535),65535, 'QC', 'P'||to_char(bitand(&&p1, 65535),'fm000') ) as SNDR
into inst , sender
from dual
where bitand(&&p1, 268435456) = 268435456;
dbms_output.put_line('Instance = '||inst);
dbms_output.put_line('Sender = '||sender );
end;
/
如果P1的值為空,則意味slave 不需要等待任何程式
比如p1的值為268501004,則上面的sql會返回:
Instance = 1
Sender = P012
等待時間:
這是非空閒等待時間,QC 等待從slave 的響應或者查詢的資料結果
導致該等待事件的原因:
非最佳化的sql語句肯能是導致此等待事件的原因:slaves 需要花費很長時間來執行sql 語句而qc又在等待slave返回資料。
解決辦法:
最佳化sql,檢視slave 在執行的語句以及其執行計劃,並做出儘量的最佳化,以便減少slave執行sql語句的時間!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-721191/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle】並行等待之PX Deq: Join ACKOracle並行
- 【Oracle】並行等待之PX Deq: Execution MsgOracle並行
- 【Oracle】並行等待之PX Deq Credit: need bufferOracle並行
- 【Oracle】並行等待之PX Deq Credit: send blkdOracle並行
- 【Oracle】並行等待之PX Deq: Signal ACKOracle並行
- 【Oracle】並行等待之PX Deq: Table Q NormalOracle並行ORM
- 【Oracle】並行等待之PX Idle WaitOracle並行AI
- 【Oracle】-PX Deq Credit: send blkdOracle
- Wait Event "PX Deq: Execution Msg"AI
- oracle parallel並行及px檢視viewOracleParallel並行View
- 【oracle】使用DBMS_PARALLEL_EXECUTE並行更新表OracleParallel並行
- 查詢gv$session引發大量的PX Deq Credit: send blkd事件Session事件
- Oracle11.2新特性之使用DBMS_PARALLEL_EXECUTE包實現並行OracleParallel並行
- 使用dbms_parallel_execute來完成DML的並行Parallel並行
- 使用11g dbms_parallel_execute執行並行更新(下)Parallel並行
- 使用11g dbms_parallel_execute執行並行更新(上)Parallel並行
- Oracle動態執行語句(Execute Immediate)Oracle
- Bug 27223075 - Wait for 'PX Deq: Join Ack' when no active QC but PPA* slaves shoAI
- Oracle並行操作——並行DML操作Oracle並行
- 11G R2中的並行執行,dbms_parallel_execute並行Parallel
- Oracle並行操作——從序列到並行Oracle並行
- Oracle並行FAQOracle並行
- Oracle的並行Oracle並行
- [shell] execute remote Script自動生成oracle awr report並mail出來REMOracleAI
- Oracle並行操作——並行查詢(Parallel Query)Oracle並行Parallel
- oracle的並行世界Oracle並行
- Oracle中的並行Oracle並行
- DBMS_PARALLEL_EXECUTE 11GR2新特性,並行訂正大資料Parallel並行大資料
- Oracle並行操作——淺議使用並行的時機Oracle並行
- Oracle並行基礎一Oracle並行
- Oracle並行基礎二Oracle並行
- Oracle Redo 並行機制Oracle Redo並行
- Oracle的並行操作[轉]Oracle並行
- Oracle並行新增主鍵Oracle並行
- oracle hint_px_distribute_push_subq_px_join_filter_qb_name_rewriteOracleFilter
- execute immediate的簡單用法(oracle)Oracle
- oracle 之 控制oracle RAC 進行並行運算Oracle並行
- oracle execute immediate動態sql組合執行comment小記OracleSQL