【正确答案】Oracle的等待事件主要可以分为两类:空闲(Idle)等待事件和非空闲(Non-Idle)等待事件。
1)空闲等待事件是指Oracle正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。
2)非空闲等待事件专门针对Oracle的活动,是指数据库任务或应用运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注与研究的。
通过如下的SQL语句可以查询等待事件的类型:

一些常见的、重要的等待事件如下:
(1)数据文件I/O相关的等待事件 db file sequential read、db file scattered read、db file parallel read、direct path read、direct path write。
(2)控制文件I/O相关的等待事件 control file parallel write、control file seauential read、control file single write。
(3)Redo日志文件I/O相关的等待事件 log file parallel write、log file sync、log file sequential read、log file single write、switch logfile command、log file switch completion、log file switch (clearing log file)、log file switch(checkpoint incomplete)、log switch/archive、log file switch (archiving needed)。
(4)高速缓存区I/O相关的等待事件 db file parallel write、db file single write、write complete waits、free buffer waits。
下表列出一些常见等待事件用以抛砖引玉,实际的数据库管理中需要掌握和了解的等待事件非常多,也比较复杂,只需要记住一些常见的面试知识点,其他的等待事件需要在工作中慢慢积累。
【答案解析】