可参考 MOS文档:

WAITEVENT: "PX Deq Credit: send blkd" (Doc ID 271767.1)

P1 = sleeptime/senderid
   P2 = passes
   P3 = qref

这是一个 IDLE wait event,需要查看 谁在等待(也就是那个 sender):

例如:

在某个 Slave 进程的 trace 文件中,出现如下信息:

WAIT #139280095023008: nam='PX Deq: reap credit' ela= 5 p1=0 p2=0 p3=0 obj#=-1 tim=1022377594644
WAIT #139280095023008: nam='PX Deq: reap credit' ela= 4 p1=0 p2=0 p3=0 obj#=-1 tim=1022377595160
WAIT #139280095023008: nam='PX Deq: Execution Msg' ela= 513 sleeptime/senderid=268632063 passes=1 p3=21463455416 obj#=-1 tim=1022455595161

通过 tkprof 整形后出现了这样的信息:

=====================================================================================
Elapsed times include waiting on following events:
Event waited on                             Times   Max. Wait  Total Waited
----------------------------------------   Waited  ----------  ------------
...

PX Deq: reap credit                           271        0.00          0.00
PX Deq: Execution Msg                          10        0.75          3.83
IPC send completion sync                        2        0.00          0.00
PX Deq Credit: send blkd                      102       32.63         94.44
PX Deq Credit: need buffer                      8        0.47          1.78
...
=====================================================================================
 
表明等待 PX Deq Credit: send blkd 事件,共等待了 94.44 秒。

可以执行如下的脚本:

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值,给出上面的sleeptime/senderid:268632063

经过计算后,得出答案:

Instance = 65537
Sender = QC

而且在任何一台运行Oracle 的机器上都如此。

这表明 :
作为 Coordinator 的 Process 在获取 Slave 进程的数据时,反应太慢了,
导致某些 Slave进行因为 Queue 满而不得不等待,进而拖慢了整个并行执行的速度。

这常常是由于 CPU 数目不足或者 系统中运行的 进程太多导致。可考虑 减小并行度。

转载于:https://www.cnblogs.com/gaojian/p/7568260.html

PX Deq: Execution Msg 等待事件相关推荐

  1. PX Deq: Execution Msg等待事件

    Occurs when a parallel slave is waiting to be told what to do. This is normally considered an idle e ...

  2. oracle db file sequential read,详解 db file sequential read 等待事件

    db file sequential read (本文由翻译,转载请注明出处) db file sequential read 事件有三个参数:file#,first block#, block co ...

  3. 等待事件 enq:TX - row lock contention分析与解决

    6月30日,数据库发生了大量锁表.大概持续1小时,并且越锁越多.后来通过业务人员停掉程序,并kill掉会话后解决. 几天后再EM上查看CPU占用: CPU发生了明显等待. 主要是由于enq:TX - ...

  4. PX Deq Credit: send blkd 等待事件

    这个等待事件并不是oracle常见的等待之一. --查看该等待事件属性 SELECT * FROM V$EVENT_NAME A WHERE A.NAME = 'PX Deq Credit: send ...

  5. 【Oracle】并行等待之PX Deq Credit: need buffer

    本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! PX Deq Credit: need buffer等待 QC和slave 之间使用队列进行沟通,每个队列使用b ...

  6. 浅析Oracle等待事件

    oracle 等待事件 一.简述 Oracle等待事件是在Oracle 7.0.12中引入的,当时等待事件大致有100多个:在Oracle 8.0中Oracle等待事件数目增加到150多个,在Orac ...

  7. AWR报告中Top 10 Foreground Events存在”reliable message”等待事件的处理办法

    操作系统版本:HP-UNIX B.11.31 数据库版本:11.2.0.4 RAC (一) 问题概要 (1)在AWR报告的Top 10 Foreground Events中发现reliable mes ...

  8. oracle中创建事件的作用,Oracle常见等待事件说明(二)-direct path read/write

    与直接读取相关联的等待事件.当ORACLE将数据块直接读入会话的PGA(进程全局区)中,同时绕过SGA(系统全局区).PGA中的数据并不和其他的会话共享.即表明,读入的这部分数据该会话独自使用,不放于 ...

  9. oracle direct path read temp,direct path read/read temp等待事件

    当会话从磁盘直接读取数据块到PGA(绕过SGA)时,发生direct path read/read temp等待事件 ,下图简要描述了这种方式的读取方式: 如果I/O子系统不支持异步I/Os,那么每个 ...

最新文章

  1. 卷积:kernel size/padding/stride
  2. xamarin.android蓝牙,在Android上连接Xamarin的配对蓝牙设备
  3. 并发基础篇(六):线程Thread类的start()方法和run()方法
  4. 听“汉代风云”,看“晁错之死”
  5. 网页标题设置,为什么在SERP中,显示结果不一致?
  6. 温故知新,.Net Core遇见Blazor(FluentUI),属于未来的SPA框架
  7. 博阅likebook alita专用pdf制作
  8. Zabbix检测Mysql的主从同步
  9. web 页面table 斜线效果 跨越多行和 多列
  10. [渝粤教育] 周口师范学院 大学计算机基础 参考 资料
  11. Canny边缘检测非极大值抑制法在双立方插值(Bicubic)图像边缘优化
  12. 主板后置音频接口图解_全程图解:手把手教你主板各种插针接口与机箱的接法_通信数码...
  13. Linux操作系统管理-Resource temporarily unavailable
  14. android 工具 Draw 9-patch 和去黑边
  15. Beta阶段敏捷冲刺前准备
  16. java版 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.
  17. LeetCode2029. 石子游戏 IX
  18. 【python毕业设计源码】汽车销售系统
  19. 国内代码托管平台Gitee(码云)的入门使用
  20. 不会数据分析?无从下手?一文帮你打开数据分析思路

热门文章

  1. 从2018百度前端技术学院看代码究竟应该怎么写(2)
  2. sed、head、grep、tail、EOF
  3. ORACLE SEQUENCE用法 (自增长)
  4. Android Http客户端如何选择?
  5. python程序在线更新_Python自动更新功能
  6. matlab更改矩阵的值,怎么修改矩阵中的某些元素 或者简单点说保留矩阵中的元素...
  7. python开发面试笔试题_python集合面试笔试题
  8. Python机器学习:多项式回归与模型泛化005学习曲线
  9. 能导出_Handoff 插件上线!足不出 Figma 就能导出设计标注
  10. 十六进制转换html,如何使用JavaScript将十进制转换为十六进制?