前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试652】在Oracle中,等待事件有哪些常见的分类?常见等待事件有哪些?

【DB笔试面试652】在Oracle中,等待事件有哪些常见的分类?常见等待事件有哪些?

作者头像
小麦苗DBA宝典
发布2019-09-29 16:34:18
7870
发布2019-09-29 16:34:18
举报

题目部分

在Oracle中,等待事件有哪些常见的分类?常见等待事件有哪些?

答案部分

等待事件的概念大概是从Oracle 7.0.12中引入的,刚引入的时候大约有100多个等待事件,在Oracle 8.0中这个数目增大到了大约150个,在Oracle 8i中大约有220个事件,在Oracle 9i中大约有400多个等待事件,在Oracle 10gR2中,大约有800多个等待事件,在Oracle 11gR2中约有1000多个等待事件。随着等待事件的逐步完善,也能够反映出对于问题的诊断粒度越来越细化。虽然不同版本会有不同数目的等待事件,但是这些等待事件都可以通过查询V$EVENT_NAME视图获得。

Oracle的等待事件主要可以分为两类:空闲(Idle)等待事件和非空闲(Non-Idle)等待事件。

(1)空闲等待事件指Oracle正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。

(2)非空闲等待事件专门针对Oracle的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注与研究的。

通过如下的SQL语句可以查询等待事件的类型:

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#;

如下所示:

SYS@orclasm > SELECT WAIT_CLASS#, WAIT_CLASS_ID, WAIT_CLASS, COUNT(*) AS "COUNT"
  2  FROM   V$EVENT_NAME GROUP  BY WAIT_CLASS#, WAIT_CLASS_ID,  WAIT_CLASS ORDER  BY WAIT_CLASS#;
WAIT_CLASS# WAIT_CLASS_ID WAIT_CLASS           COUNT
----------- ------------- --------------- ----------
          0    1893977003 Other                  745
          1    4217450380 Application             17
          2    3290255840 Configuration           24
          3    4166625743 Administrative          55
          4    3875070507 Concurrency             33
          5    3386400367 Commit                   2
          6    2723168908 Idle                    95
          7    2000153315 Network                 35
          8    1740759767 User I/O                48
          9    4108307767 System I/O              31
         10    2396326234 Scheduler                8
         11    3871361733 Cluster                 50
         12     644977587 Queueing                 9

一些常见的、重要的等待事件如下所示:

(1)数据文件I/O相关的等待事件:

l db file sequential read

l db file scattered read

l db file parallel read

l direct path read

l direct path write

(2)控制文件I/O相关的等待事件:

l control file parallel write

l control file sequential read

l control file single write

(3)Redo日志文件I/O相关的等待事件:

l log file parallel write

l log file sync

l log file sequential read

l log file single write

l switch logfile command

l log file switch completion

l log file switch (clearing log file)

l log file switch (checkpoint incomplete)

l log switch/archive

l log file switch (archiving needed)

(4)高速缓存区I/O相关的等待事件:

l db file parallel write

l db file single write

l write complete waits

l free buffer waits

下面列出一些常见等待事件用以抛砖引玉,实际的数据库管理中需要掌握和了解的等待事件非常多,也比较复杂,只需要记住一些常见的面试知识点,其它的等待事件需要在工作中慢慢积累。

表 3-23 常见等待事件

除了上表中列举出来的等待事件还有很多其它常见的等待事件,这里就不再列举了,读者可以关注作者的微信公众号或博客,里面会有所有等待事件的详细介绍。

& 说明:

有关等待事件的更加详细的内容可以参考作者BLOG:http://blog.itpub.net/26736162/viewspace-2126079/、http://blog.itpub.net/26736162/viewspace-2125065/、http://blog.itpub.net/26736162/viewspace-2124417/

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档