一个客户的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 | 本文来源gaodai.ma#com搞#代!码网_ 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, 感谢原作者分享。