標籤:oracle 等待事件之 buffer busy waits
buffer busy waits (熱塊兒爭用)
官網解釋:
This wait indicates that there are some buffers in the buffer cache that multiple processes are attempting to access concurrently. Query V$WAITSTAT for the wait statistics for each class of buffer. Common buffer classes that have buffer busy waits include data block, segment header, undo header, and undo block.
Check the following V$SESSION_WAIT parameter columns:
P1: File ID
P2: Block ID
P3: Class ID
解釋:
此等待表示緩衝區快取中存在多個進程嘗試同時訪問的緩衝區。 查詢V$WAITSTAT為每類緩衝區的等待統計資訊。 具有緩衝區忙等待的公用緩衝區包括資料區塊,段頭,撤銷頭和撤消塊。
這個等待事件的產生僅說明了一個會話在等待一個 Buffer(資料區塊)
有兩種情形是:
(1)當一個會話試圖修改一個 Buffer,但這個 Buffer 正在被另一個會話修改時。
熱塊是典型的是資源爭用,分析熱塊產生原因,才可對症下藥:以下為熱塊發生的部位:
①表塊②索引塊,段頭塊( free list) ,undo 塊等
(2)當一個會話需要讀取一個 Buffer,而這個 Buffer 正在被另一個會話從磁碟讀取到記憶體中時。
在 11g 的版本中,這種情況已經被獨立出來,以 read by other session命名等待事件。
Buffer busy waits 等待事件常見於資料庫中存在熱塊的時候,當多個使用者頻繁地讀取或者修改同樣的資料區塊時,這個等待事件就會產生。
本文出自 “Linux Oracle MariaDB” 部落格,請務必保留此出處http://wangergui.blog.51cto.com/8504247/1912944
Oracle 等待事件之 buffer busy waits