ITPub博客

首页 > 数据库 > Oracle > OWI - FREE BUFFER WAITS 等待事件

OWI - FREE BUFFER WAITS 等待事件

原创 Oracle 作者:gydba 时间:2015-09-11 15:21:15 0 删除 编辑
    这几天一直在学习周亮的书,来不及整理。每当看到有精彩之处,都会做做笔记,以备以后有用。
  
   Oracle会基于性能的考虑,当服务进程在扫描LRU时,同时会将脏块移到LRU-W列,如果发现没有足够可用的BUFFER CACHE,进程并不会一直扫描整条LRU主列,而是在扫描某个
阀值(_db_block_max_scan_pct决定),当到达某个阀值后就会停止扫描。这时,前台进程会通知DBwr进程将相关脏块写到数据文件中,以得到空闲缓冲区。DBWR进程写脏块完成前,
服务进程等待空闲缓冲区时,会出现FREE BUFFER WAIT等待事件。
  FREE BUFFER WAIT导致的原因:
 
 1)
效率较低的SQL,因为低效的SQL会请求多空闲缓冲区,那么FREE BUFFER WAIT等待就会增加
 2)
BUFFER CACHE过小
 3)
DBWR的写入速度不够快。可以使用多个DBWR进程来加快DBWR进程写脏块的速度   
 
  DBWR进程将脏块写到数据文件时,会以EXCLUSIVE模式占有脏缓冲区,如果这个时候呢有其他的进程对这个缓冲区进行修改,则需要等待DBWR进程写数据块结束,并出现WRITE COMPLETE WAITS 等待事件。

 ------------------------------------区别----------------------------------
 
FREE BUFFER WAITS等待事件一般是由应用引起
  
WRITE COMPLETE WAITS 等待事件一般由存储性能问题引起  ->存储存在性能问题的可能性较高
  

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

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

注册时间:2015-08-24

  • 博文量
    77
  • 访问量
    192122