一、等待事件的分类
等待事件主要可以分两类,即空闲(idle)等待事件和非空闲(non-idle)等待事件。
1、空闲等待意味着Oracle正在等待某种动作的发生,实际上并不是因为繁忙而等待,而是因为没有事情做所以等待,如:smon timer,SMON进程的一些操作每隔一段时间循环执行的,即使系统不忙,此事件也不立即发生,而是等待计时器达到一定的时间才执行,此时出现的smon timer 等待事件,而系统并没有出现性能上的问题。多数的空闲等待对数据库性能的影响不大,可以不必过多的关注。
2、非空闲等待事件专门针对oracle的活动,指数据库任务或运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注和研究的。
二、等待事件的查询
1、查询数据库中的等待事件
select event, count(*) from v$session_wait
group by event order by count(*) desc;
2、查询数据库等待时间和实际执行时间的相对百分比