ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 非空闲等待事件

非空闲等待事件

原创 Linux操作系统 作者:willing66 时间:2012-01-31 15:23:18 0 删除 编辑
非空闲等待事件
引自: http://space.itpub.net/?uid-10678398-action-
viewspace-itemid-715105
buffer busy waits:表示在等待对数据高速缓冲区的访问,这
种等待事件通常出现在会话读取数据到buffer中或者修改
buffer中的数据时,例如DBWR正在写一些数据块到数据文件的
同时,其他进程需要去读取相应的数据块。同时也可能表示着
在表上设置的free list太少了,不能大量并发的insert操作
。在v$session_wait视图的p1字段值表示相关数据块所在的文
件编号,P2则表示文件上的块编号,通过dba_data_file和
dba_extents联合查询就可以很快的定位到发生竞争的存储对
象。
 
db file parallel write:与dbwr进程相关的等待,一般代表
I/O能力出现了问题。通常与配置的多个DBWR进程或者是DBWR
的I/O salves个数有关,当然也意味着在设备上存在I/O竞争
 
db file scattered read:表示发生了与全表扫描相关的等待
。通常意味着全表扫描过多,或者I/O能力不足或者是I/O竞争
 
db file sequential read: 表示发生了与索引扫描相关的等
待。同样意味着/O能力不足或者是I/O竞争
 
db file single write:表示发生检查点时与文件头写操作相
关等待。通常与检查点同步数据文件头时文件号序乱有关
 
direct path read:表示直接I/O读相关的等待。当直接读数据
到PGA内存时,direct path read出现。这些类型的读请求典
型的作为:排序IO(当排序不能在内存中完成时)并行slave查
询或者预先读。通常也与I/O有关
 
direct path write:同上,只是操作为写
 
enqueue:表示与内部队列机制相关的等待,例如保护内部资源
或者是组件的锁的请求等,是一种并发的保护机制
 
free buffer inspected:表示将数据读入高速缓存区的时候等
待进程找到足够大的内存空间。通过这类等待事件表示数据高
速缓存区偏小
 
free buffer waits:表示数据高速缓存区缺少内存空间。通常
与数据高速缓存区内存太或者是脏块数据写出太慢有关。这种
情况下,可以考虑增大数据高速缓存区或者通过设置更多地
DBWR来增加脏数据的的写能力
 
latch free:表示莫个锁存器上发生了竞争。首先应该确保已
经提供了足够多的latch数,如果仍然发生这种等待事件,那
么应该进一步确定是哪种锁存器上发生了竞争(在
v$session_wait上的P2字段表示了锁存器的标号),然后再判
断是什么引起了这种锁存器的竞争,如SQL语句书写不合理带
来了大量的硬解析
 
library cache pin:这个等待事件也与库高速缓存的多个并发
有关,当库高速缓存中的对象被修改或者是被检测的时候发生
 
undo segment extension:表示在等待回滚段的动态扩展。这
表示可能事务量过大,同时也意味着可能回滚段的初始大小不
是最优的,minextents设置得偏小。考虑减少事务,或者使用
最小区数更大的回滚段。
 
log  buffer space:表示日志缓存区出现了空间等待事件。这
种等待事件意味写日志缓存区的时候得不到相应的内存空间,
通常发生在日志缓冲区太小或者是LGWR进程太慢的时候
 
SQL*Net Message From Client:这种等待事件大多数的时候是
可以被忽试的,它表示服务等待客户进程返回一些回应信息。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/276487/viewspace-715303/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-22

  • 博文量
    100
  • 访问量
    162434