作家
登录

Oracle中常见的33个等待事件小结

作者: 来源: 2017-10-25 09:50:10 阅读 我要评论

Blocks: 须要更新的数据块数量(平日来说应当等于1)。

10. Direct path read

这个等待事宜产生在会话将数据块直接攫取到PGA傍边而不是SGA中的情况,这些被攫取的数据平日是这个会话私有的数据,所以不须要放到SGA作为共享数据,因为如许做没有意义。这些数据平日是来自于临时段上的数据,比如一个会话中SQL的排序数据,并行履行过程中心产生的数据,以及Hash Join,merge join产生的排序数据,因为这些数据只对当前的会话的SQL操作有意义,所以不须要放到SGA傍边。 当产生direct path read等待事宜时,意味着磁盘上有大年夜量的临时数据产生,比如排序,并行履行等操作。或者意味着PGA中余暇空间不足。

这个等待事宜有三个参数:

Descriptor address: 一个指针,指向当前会话正在等待的一个direct read I/O。

First dba: descriptor address 中最旧的一个I/O数据块地址。

Block cnt: descriptor address高低文中涉及的有效的buffer 数量。

19. Log file sequential read

11. Direct path write

这个等待事宜和direct path read 正好相反,是会话将一些数据大年夜PGA中直接写入稻磁逄文件上,而不经由SGA。 这种情况平日产生在:·应用临时表空间排序(内存不足)·数据的直接加载(应用append方法加载数据)·并行DML操作。

这个等待事宜有三个参数:

#bytes: 办事器端接收到的来自客户端消息的字节数。

这个等待事宜有三个参数:

Descriptor address: 一个指针,指向当前会话正在等待的一个direct I/O.

First dba: descriptor address 中最旧的一个I/O数据块地址。

#bytes: 办事器端向客户端发送消息的字节数。

Block cnt: descriptor address 高低文中涉及的有效地 buffer 数量。

12. Enqueue

这个等待事宜和SQL*Net more data to client 等待时光基本相同,只不过时待产生在分布式事务中,即本地数据库须要将更多的数据经由过程dblink发送给长途数据库。因为发送的数据太多或者收集机能问题,就会出现SQL*Net more data to dblink等待事宜。

Enqueue 这个词其实是lock 的另一种描述语。

当我们在AWR 申报中发明长时光的enqueue 等待事宜时,解释数据库中出现了壅塞和等待,可以接洽关系AWR申报中的enqueue activity部分来肯定是哪一种锁定出现了长时光等待。

Files: 操作须要写入的文件个数。

这个等待事宜有2个参数:

Name: enqueue 的名称和类型。

这个等待事宜有两个参数:

可以应用如下SQL 查看当前会话等待的enqueue名称和类型:

  1. /* Formatted on 6/27/2011 1:31:48 PM (QP5 v5.114.809.3010) */ 
  2.  SELECT  CHR (TO_CHAR (BITAND (p1, -16777216)) / 16777215) 
  3.           || CHR (TO_CHAR (BITAND (p1, 16711680)) / 65535) 
  4.             "Lock"
  5.           TO_CHAR (BITAND (p1, 65535)) "Mode" 
  6.   FROM  v$session_wait 
  7.   WHERE  event = 'enqueue' 

13. Free buffer waits

当一个会话将数据块大年夜磁盘读到内存中时,它须要到内存中找到余暇的内存空间来存放这些数据块,当内存中没有空闲的空间时,就会产生这个等待;除此之外,还有一种情况就是会话在做一致性读时,须要构造数据块在某个时刻的前映像(image),此时须要申请内存来存放这些新构造的数据块,如不雅内存中无法找到如许的内存块,也会产生这个等待事宜。

当数据库中出现比较严重的free buffer waits等待事宜时,可能的原因是:

(1)data buffer 太小,导致余暇空间不敷

(2)内存中的脏数据太多,DBWR无法及时将这些脏数据写稻磁逄中以释放空间

这个等待事宜包含2个参数:

File#: 须要攫取的数据块地点的数据文件的文件号。

Block#: 须要攫取的数据块块号。

14. Latch free

Inactive: 这个日记膳绫擎保护的信息已完成checkpoint。

在10g之前的版本里,latch free 等待事宜代表了所有的latch等待,在10g今后,一些常用的latch事宜已经被自力了出来:

  1. 11gr2: 
  2.  SQL> select name from v$event_name where name like 'latch%' order by

      推荐阅读

      芯片开源成功难 谁来挑战ARM架构?

    沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 这场开源活动大年夜软件而起,>>>详细阅读


    本文标题:Oracle中常见的33个等待事件小结

    地址:http://www.17bianji.com/lsqh/38167.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)