等待事件:Streams AQ: qmn coordinator waiting for slave to start

导致这个问题的主要原因与初始化参数AQ_TM_PROCESSES有关。

  • 分析方法

       查看参数AQ_TM_PROCESSES的值,按照10g官方文档提示,AQ_TM_PROCESSES=0,qmn监控进程是没有启动的,只有设置为1到10之间才能启动,可以根据实际情况设置。 

          设置:alter system set AQ_TM_PROCESSES=1; 

10g的默认值为0,设置区间为1-10;

11g的默认值为1,设置区间为1-40;

       由于Oracle的高级队列、流、数据泵等多种内置功能都会依赖于QMN进程,当AQ_TM_PROCESSES不为0时,Oracle无法自动根据负载确定QNNN进程的数量,来满足队列相关操作的需求。而如果该参数被禁止,Oracle只能在出现队列需求的时候才被动的去启动一个SLAVE进程,从而导致了较高的平均等待时间。

      Streams AQ: qmn coordinator waiting for slave to start等待事件等待的次数非常少,在一个小时的AWR报告中就出现了2次,但是每次的等待时间却非常长,平均达4秒以上。在10g版本中,QMON(Queue Monitor Processes)自动协调slave经常的分配,aq_tm_processes无需在手动设置,slave进程会在需要的时候自动分配。
      查看了用户的aq_tm_processes参数的值是否为0,数据库版本为10.2.0.5(oracle是不建议将aq_tm_processes设置为0的),那说明此时oracle在自动分配slave进程时时存在问题的,效率过低,所以如果出现Streams AQ: qmn coordinator waiting for slave to start等待事件,还是建议将aq_tm_processes参数设置为非零值,让oracle预先分配几个slave进程,该参数的取值范围是0~10,或者取消aq_tm_processes参数的设置,让oracle自动分配。

      取消aq_tm_processes参数的设置:      alter system reset aq_tm_processes scope=spfile sid=\'*\';

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值