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
buffer busy waits
最新推荐文章于 2025-05-21 14:04:25 发布