简答题 5.  等待事件的分类?常见等待事件?
【正确答案】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。
   下表列出一些常见等待事件用以抛砖引玉,实际的数据库管理中需要掌握和了解的等待事件非常多,也比较复杂,只需要记住一些常见的面试知识点,其他的等待事件需要在工作中慢慢积累。
   

   
   
   
   
   
   
【答案解析】