oracle等待进程,详解Oracle数据库并行操作常见等待事件及脚本

今天主要介绍Oracle数据库在并行操作过程中 slave 进程和 QC 进程经常遇到的等待事件及常用脚本。

1、PX Deq: Execution Msg

Occurs when a parallel slave is waiting to be told what to do. This is normally considered an idle event, but can cause excessive CPU in some cases.

该事件是并行查询中的常见事件。当PQ slave进程在等待QC告诉它要做什么的时候就会出现此事件(eg: when waiting to be told parse / execute / fetch etc..)

v$session_wait 中该等待事件对应的参数:

P1 = sleeptime/senderid

P2 = passes

P3 = not used

我们可以使用如下语句获取转换sleeptime/senderid的相关信息:

如果P1的值为空,则意味slave 不需要等待任何进程

比如p1的值为268501004,则上面的sql会返回:

Instance = 1

Sender = P012

passes 进程在得到信息之前循环轮转等待的次数

该等待事件是一个空闲等待事件,当此等待事件出现,进程会持续等待并逐渐增加等待次数直到获取信息!

解决方法:

作为 Coordinator 的 Process 在获取 Slave 进程的数据时,反应太慢了,导致某些 Slave进行因为 Queue 满而不得不等待,进而拖慢了整个并行执行的速度。这常常是由于 CPU 数目不足或者 系统中运行的 进程太多导致。可考虑 减小并行度。

Occurs when the query coordinator is waiting for a response from a parallel slave. This is normally considered an idle event, but can cause excessive CPU in some cases.

Waiting Process: QC

协调器正在等待一个 从slaves 进程对控制信息的响应(确认通知)或者期望从slave进程集中获取数据。这个等待事件意味着QC等待slaves结束执行sql 并且将结果集发送给QC

v$session_wait 中该等待事件对应的参数:

P1 = sleeptime/senderid

P2 = passes

P3 = not used

我们可以使用如下语句获取转换sleeptime/senderid的相关信息:

如果P1的值为空,则意味slave 不需要等待任何进程

比如p1的值为268501004,则上面的sql会返回:

Instance = 1

Sender = P012

等待时间:

这是非空闲等待时间,QC 等待从slave 的响应或者查询的数据结果

解决办法:

非优化的sql语句肯能是导致此等待事件的原因:slaves 需要花费很长时间来执行sql 语句而qc又在等待slave返回数据。

优化sql,查看slave 在执行的语句以及其执行计划,并做出尽量的优化,以便减少slave执行sql语句的时间!

1、gives an overview of all running parallel queries with all slaves.It shows the if a slave is waiting and for what event it waits.

e703f14d11605d3dc6b032c0fef13ccb.png

2、shows for the PX Deq events the processes that are exchange data.

ab6335d773bceea469265124ffcf7140.png

3、shows for long running processes what are the slaves do.

2e237d2b5db58cee8e1e3c7d86335bc0.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值