研究 Oracle 的等待事件,V$EVENT_NAME
视图是一个很好的开始,这个视图记录着当前数据库支持的等待事件及其基本信息。
select count(*) from v$event_name;
Oracle 的等待事件,主要可以分为两类,即空闲(idle)等待事件和非空闲(non-idle)等待事件。
★ 空闲事件指 Oracle 正等待某种工作,在诊断和优化数据库的时候,我们不用过多注意这部分事件。
★ 非空闲等待事件专门针对 Oracle 的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是我们在调整数据库的时候应该关注与研究的。
V$EVENT_NAME 视图中的
PARAMETER1、PARAMETER2、PARAMETER3
非常重要,对于不同的等待事件参数其意义各不相同:
select
name,PARAMETER1,PARAMETER2,PARAMETER3 from v$event_name where name ='db file
scattered read';
NAME PARAMETER1 PARAMETER2 PARAMETER3
----------------------- --------------- ---------------
---------------
db file scattered read file# block# blocks
主要分类及各类等待事件的个数:
SELECT wait_class#, wait_class_id,
wait_class, COUNT (*) AS "count" FROM v$event_name GROUP BY
wait_class#, wait_class_id, wait_class ORDER BY wait_class#;
select * from v$system_wait_class order by
time_waited;
了解数据库的空闲等待事件:
select name,wait_class from v$event_name
where wait_class='Idle';




