等待事件:PX Deq Credit: send blkd?TOAD ? GV$SESSION

等待事件:PX Deq Credit: send blkd?TOAD ? GV$SESSION

    昨天看AWR报表,发现系统出现大量的PX Deq Credit: send blkd等待事件.
Event                  Waits Time(s) Avg Wait(ms)  % Total Call Time Wait Class
PX Deq Credit: send blkd  905  1,829   2,021         74.9              Other

占了1829秒,仔细看AWR报表,发现:
执行这条语句:
select * from gv$session 竟然占用1831秒。

感觉很奇怪,我仅仅使用toad提供的session browser看会话情况。

我自己手工做个一个测试,在sql editor中输入以上sql语句,打开另外的窗口查看
SELECT *
  FROM v$session_wait
 WHERE event = 'PX Deq Credit: send blkd' ;

确实可以发现这个等待事件。

仔细看select * from gv$session这个的执行计划:

存在这样的执行步骤,PX SEND QC事件,看来以后不能老是频繁刷新 gv$session视图,特别是rac环境下。

snap.jpg

snap1.jpg

时间: 2024-10-01 03:55:03

等待事件:PX Deq Credit: send blkd?TOAD ? GV$SESSION的相关文章

【Oracle】并行等待之PX Deq Credit: send blkd

本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! PX Deq Credit: send blkd等待事件: Waiting Process: QC 想发送信息的进程没有credit bit. 进程想发送一个信息但是没有control credit ,进程必须首先发送一个消息去获取credit ,此等待事件以表明接收进程还没有完成前一个消息的处理."PX Deq Credit: send blkd" and "PX Deq Credit:

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

本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! PX Deq Credit: need buffer等待 QC和slave 之间使用队列进行沟通,每个队列使用buffer存放slave和slave或者slave和QC 之间的信息.队列需要一个creidt 标志位来保证任意时刻只有一个进程能够使用此buffer发送数据信息!一个进程要通过队列发送数据或者响应信息就需要获取credit bit,而credit bit则是通过一个buffer 来发送的.当出现该

【Oracle】并行等待之PX Deq: Table Q Normal

本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! Waiting Processes:Slave 在并行执行环境中我们建立建立producer consumer 模型:  处理数据(比如 从磁盘获取数据并做join 连接)的slave 集叫做producer slave :另外一些等待获取处理结果数据的slave 称为consumer slave .等待事件 "PX Deq: Table Q Normal" 意味着消费者slave进程等待生产者sl

【Oracle】并行等待之PX Deq: Join ACK

本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! PX Deq: Join ACK 等待 Waiting Process: QC 当我们执行并行语句的时候,查询协调器会根据并行度来创建slave 集合.协调进程首先会发送给每一个将要被使用的slaves一个join messages ,然后等待slave 进程返回 join 确认信息.如果并行操作需要两个slave 集合此过程会重复一遍! 等待时间:此等待事件是一个非空闲等待事件. 当PARALLEL_AUT

【Oracle】并行等待之PX Deq: Execution Msg

本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! PX Deq: Execution Msg   该事件是并行查询中的常见事件.当PQ slave进程在等待QC告诉它要做什么的时候就会出现此事件(eg: when waiting to be told parse / execute / fetch etc..) v$session_wait 中该等待事件对应的参数: P1 = sleeptime/senderid P2 = passes P3 = not u

【Oracle】并行等待之PX Deq: Signal ACK

本系列文章将会介绍在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件! Waiting Process:QC QC 进程想slaves 进程发送控制信息并期待slaves 进程的回复  QC 进程发送一个控制信息给slaves进程.slave 进程必须发送对控制信息的响应.在QC等待获取响应的过程就是"PX Deq: Signal ACK" v$session_wait 中该等待事件对应的参数: P1 = sleeptime/senderid P2 = passes P

【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 我们可以使用如下语句获取转换s

Oracle OWI 等待事件视图(v$session_wait/v$session_event/v$system_event)

    通常情况下,用户提交一条SQL语句,总会存在这样或那样的等待事件.也就是说由于所需资源被占用导致进程不得不处于等待状态.Oracle为我们提供了获取这些等待事件的可用视图.根据这些视图可以得知哪些事件导致该SQL语句效率低下而采取相应的修改或调整.本文基于Oracle 10g描述了如何通过视图v$session_wait,v$session_event,以及v$system_event去获取等待事件的相关信息.   1.等待事件相关参数  timed_statistics      指定

详解 db file sequential read 等待事件

db file sequential read (本文由thomaswoo_dba翻译,转载请注明出处) db file sequential read 事件有三个参数:file#,first block#, block count, 在oracle 10g里,此等待事件在归于 User I/O wait class 下面的. 处理db file sequential read 事件要牢牢把握下面三个主要思想: 1)oracle 进程需要访问的block不能从SGA 中获取,因此oracle 进