• buffer busy waits


    Buffer busy waits 当会话想要访问缓冲区中的数据块,而该数据块正在被其他会话使用时将产生Buffer busy waits事件。
    
    其他会话可能正从数据文件向缓冲器读取同样的数据块,或正在缓冲存储器中对其进行修改。
    
    为了确保读取器会话拥有与获得所有更改或无更改的数据块一致的映像,正在修改该数据块的会话在其标题中标记一个标志,
    
    让其他会话知道有一个更改正在进行而等待更改的完成。
    
    buffer busy waits事件表示一个会话等待其他会话完成对数据块的修改:
    
    模拟:
    SQL> desc test1  
     Name					   Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID						    NUMBER(38)
     NAME						    CHAR(10)
    
    SQL> select * from v$mystat where rownum<2;
    
           SID STATISTIC#	   VALUE
    ---------- ---------- ----------
    	29	    0	       0
    
    SQL> update test1 set id=100;
    
    1000000 rows updated.
    
    SQL> update test1 set id=100;
    
    1000000 rows updated.
    
    
    SESSION 52:执行select * from test1 进行全表扫描
    
    sample_id  session_id    sample_time                     sql_id           event            blocking_session     sql_text
    
    995833	      52	29-12月-00 07.05.08.657 上午	0zkpy7fsa27fw	buffer busy waits	29	          select * from test1
    
    SQL> select name,a.PARAMETER1,a.PARAMETER2,a.PARAMETER3 from v$event_name a where name='buffer busy waits';
    
    
    NAME			       PARAMETER1 PARAMETER2			 PARAMETER3
    ------------------------------ ---------- ------------------------------ ----------------------------------------------------------------
    buffer busy waits	       file#	  block#			 class#
    
    
    p1: 涉及等待的数据文件号
    
    
    p2: 进程需要访问的块号
    
    
    p3: 等待的原因码


    
                                        
    
  • 相关阅读:
    JDBC连接效率问题
    如何配置Filter过滤器处理JSP中文乱码(转)
    Servlet生命周期与工作原理(转)
    ANR触发原理
    SystemServer概述
    Zygote总结
    ART、JIT、AOT、Dalvik之间有什么关系?
    谈谈android缓存文件
    Activity启动过程全解析
    tombstone问题分析
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352448.html
Copyright © 2020-2023  润新知