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

       Streams AQ: qmn coordinator waiting for slave to start等待事件很少见到,今天在查看一个客户的AWR报告中发现了这个等待事件,AWR报告的TOP如下:
                      


Event


Waits


Time(s)


Avg wait (ms)


% DB time


Wait Class


DB CPU


 


308


 


62.85


 


db file sequential read


92,033


96


1


19.60


User I/O


db file scattered read


44,852


90


2


18.39


User I/O


Streams AQ: qmn coordinator waiting for slave to start


3


16


5269


3.23


Other


gc cr grant 2-way


60,943


11


0


2.27


Cluster

    Streams AQ: qmn coordinator waiting for slave to start等待事件等待的次数非常少,在一个小时的AWR报告中就出现了3次,但是每次的等待时间却非常长,平均达5秒以上。在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自动分配。
    可以通过下面的代码查看QMON自动调整是否启用,同时aq_tm_processes参数是否被设置为0:

  1. connect / as sysdba
  2. set serveroutput on
  3. declare
  4. mycheck number;
  5. begin
  6. select 1 into mycheck from v$parameter where name = 'aq_tm_processes' and value = '0' and (ismodified != 'FALSE' OR isdefault = 'FALSE');
  7. if mycheck = 1 then
  8. dbms_output.put_line('The parameter ''aq_tm_processes'' is explicitly set to 0!');
  9. end if;
  10. exception when no_data_found then
  11. dbms_output.put_line('The parameter ''aq_tm_processes'' is not explicitly set to 0.');
  12. end;
  13. /

     取消aq_tm_processes参数的设置:

  1. connect / as sysdba
  2. alter system reset aq_tm_processes scope=spfile sid=\'*\';

    补充:从11.2.0.3以后的版本中,aq_tm_processes默认值又调整为1.

时间: 2024-08-26 17:16:35

Streams AQ: qmn coordinator waiting for slave to start等待事件的相关文章

mysql主从复制出现Waiting for Slave Worker to release partition

实为吾之愚见,望诸君酌之!闻过则喜,与君共勉  第一节   并行复制 Mysql5.6的mts(并行复制)是基于database来分发事务的,coordinator(原来的sql thread)按照slave worker与db的对应关系进行处理来分发事务给相应的slave worker,slave worker代替了sql thread来执行事务中的event.并且mysql默认认为数据是以database来分布的,跨库的事务在slave应用的时候可能就需要等待了. Waiting for S

小麦苗BLOG文章索引

小麦苗BLOG文章索引            自从2014年7月1号开始写blog到2015年5月5日,历时10个月的时间,大概写了90篇文章,这blog多了就乱了,今天抽空出来整理整理,方便大家也方便自己阅读,本文将一直更新,另外,最后我把所有的blog文章全列出来,可能会有用.    小麦苗的所有文章:itpub文章链接-小麦苗.zip     2015年06月03日更新一次,我写的blog数量:109 篇    2015年07月03日更新一次,我写的blog数量:126 篇    2016

Oracle的v$lock性能视图

SQL> desc v$lock; 名称                                      是否为空? 类型 ----------------------------------------- -------- ---------------------------- ADDR                                               RAW(8) KADDR                                        

oracle数据库library cache lock引发的一个问题解决办法

美女同事说某个客户有个问题,系统出现了大量的library cache lock. 导致业务严重受阻,具体表现是所有访问某个表的SQL语句都会挂起. 首先我们来看hanganalyze 的结果: PORADEBUG END ORIGINATING INST:1 SERIAL:0 PID:38076802 ******************************************************************** Found 341 objects waiting fo

使用ass.awk脚本分析systemstate生成的trace文件

在以前,很多客户和朋友曾经各种寻找ass109.awk脚本,用意分析systemstate生成的trace文件. 因为最初ass109.awk文件是Oracle内部一个老外大牛个人写脚本,还不算是Oracle公司产品化的东西,以为不能提供支持. 在LTOM431版本中,已经自带了ass109.awk脚本: sftp> lpwd E:/CRT-temp/tools/ltom431/ltom/tom_base/tom/src sftp> pwd /rootwork sftp> lls ass

【Oracle】使用hanganalyze 命令分析数据库hang【转】

1. 数据库hang的几种可能性 oracle 死锁或者系统负载非常高比如cpu使用或其他一些锁等待很高都可能导致系统hang住,比如大量的DX锁. 通常来说,我们所指的系统hang住,是指应用无响应,普通的sqlplus几乎无法操作等等. 2. 如何进行hang分析?hang分析有哪些level?如何选择level? hanganalyze有如下几种level: 10     Dump all processes (IGN state) 5      Level 4 + Dump all pr

Oracle latch 闩锁结构 总结

以下内容太整理自网络,完全处于学习目的,如有侵权请及时联系我,我会立即删除. 一. Latch 说明 1.1 Latch Latch属于System Lock, 用于保护SGA区中共享数据结构的一种串行化锁定机制.Latch的实现是与操作系统相关的,尤其和一个进程是否需要等待一个latch.需要等待多长时间有关. Latch是Oracle提供的轻量级锁资源,是一种能够极快地被获取和释放的锁,能快速,短时间的锁定资源,防止多个并发进程同时修改访问某个共享资源,它只工作在SGA中,通常用于保护描述b

如何分析解读systemstat dump产生的trc文件

    ORACLE数据库的systemstat dump生成trace文件虽然比较简单,但是怎么从trace文件中浩如烟海的信息中提炼有用信息,并作出分析诊断是一件技术活,下面收集.整理如何分析解读systemstat dump产生的trace文件.     如果要人工去解读systemstat dump生成的trace文件,真是一件体力活,因为这些trace文件动不动就几百M甚至更大,它产生的跟踪文件包含了系统中所有进程的进程状态等信 息.每个进程对应跟踪文件中的一段内容,反映该进程的状态信

Oracle AWR报告详细分析 (文档 ID 1523048.1)

Oracle AWR报告详细分析  (文档 ID 1523048.1) AWR 是 Oracle  10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库 AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分. WORKLOAD REPOSITORY report for  DB Name DB Id Instance Inst num Release RAC Host ICCI 13140