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 等待事件常見於數據庫中存在熱塊的時候,當多個用戶頻繁地讀取或者修改同樣的數據塊時,這個等待事件就會產生。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章