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

一个客户的10.2.0.5数据库的TOP 5等待出现了这个等待事件。

其实导致这个Streams AQ: qmn coordinator waiting for slave to start等待出现的原因除了参数设置不合理外,最主要的原因还是数据库太闲了:

Event

Waits

Time(s)

Avg Wait(ms)

% Total Call   Time

Wait Class

CPU time

372

59.0

Streams AQ: qmn   coordinator waiting for slave to start

6

34

5,667

5.4

Other

db file   scattered read

50,528

28

1

4.4

User I/O

gc cr multi   block request

66,347

24

0

3.8

Cluster

db file   sequential read

7,157

18

2

2.8

User I/O

 

可以看到,这个Streams AQ: qmn coordinator waiting for slave to start等待排在TOP 5的第二位,仅仅等待了34秒。不过这个等待的平均等待时间则达到了5秒以上,相比总的等待时间,这个对单次操作的性能影响更加明显。

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

 

This entry was posted in ORACLE and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published.