一个客户的10.2.0.5数据库的TOP 5等待出现了这个等待事件。 其实导致这个Streams AQ: qmn coordinator waiting for slave to start等待出现的原因除了参数设置不合理外,最主要的原因还是数据库太闲了: Event Waits Time(s) Avg Wait(ms) % Total Call ? Ti
一个客户的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进程,从而导致了较高的平均等待时间。
原文地址:Streams AQ: qmn coordinator waiting for slave to s, 感谢原作者分享。