Oracle 學習之--Buffer Cache深入解析

來源:互聯網
上載者:User

Oracle 學習之--Buffer Cache深入解析

Oracle 學習之--Buffer Cache深入解析

伺服器處理序和資料庫緩衝區快取:

  當伺服器需要塊時,需要按系列步驟讀取塊:

1、首先,伺服器使用散列函數檢查是否可以從緩衝區快取中獲得所需要的塊。如果找到緩衝區,則將它移動到LRU列表中遠離LRU末尾的另一端。這是邏輯讀取,因為沒有發生實際的I/O。如果在緩衝區快取中找不到緩衝區,則伺服器處理序(Server)必須從資料檔案中讀取。


2、對資料檔案進行讀取之前,伺服器處理序將搜尋LRU列表,以獲得閒置緩衝區。所有被伺服器處理序修改的緩衝區都放在檢查點隊列中。以便在檢查點期間寫出到磁碟。

3、如果檢查點的大小超出了其閾值,伺服器會發出訊號通知DBWn重新整理資料緩衝區快取中的髒資料緩衝區。如果伺服器在搜尋閾值內找不到閒置緩衝區,將發出訊號通知DBWn進行重新整理。

4、找到空閑緩衝區後,伺服器將塊從資料檔案中讀入到資料庫緩衝區快取中過的空閑緩衝區。Oracle伺服器處理序把緩衝區移動到LRU列表中遠離LRU末尾的位置。

5、如果對塊的讀取不一致,伺服器會由當前塊和復原段重建塊的早期版本。

Oracle 如何強制重新整理Buffer Cache 

Buffer cache和page cache的區別

Linux中Buffer cache效能問題一探究竟

Oracle BUFFER CACHE研究

Oracle Buffer Cache最佳化思路   與

DBWn進程和資料庫緩衝區快取:

DBWn將髒資料區塊寫入資料檔案,以確保伺服器有空閑塊,並以此來管理緩衝區快取。DBWn響應執行個體中不同的事件:

1、Checkpoint Queue Exceeds Threshold:如果伺服器處理序發現檢查點隊列的大小超出其閾值,就會發出訊號通知DBWn進行重新整理。DBWn則將檢查點隊列中的緩衝區全部寫出。

當檢查點隊列25%滿就會觸發DBWn的寫操作:

SQL> desc x$kvit         

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 ADDR                                              RAW(8)

 INDX                                              NUMBER

 INST_ID                                            NUMBER

 KVITVAL                                            NUMBER

 KVITTAG                                            VARCHAR2(64)

 KVITDSC                                            VARCHAR2(64)

SQL> col KVITTAG for a20

SQL> col KVITDSC for a50

SQL> set linesize 120

SQL> select KVITTAG,KVITVAL,KVITDSC,INST_ID from x$kvit where KVITTAG='kcbldq';

KVITTAG                KVITVAL KVITDSC                                              INST_ID

-------------------- ---------- -------------------------------------------------- ------

kcbldq                      25 large dirty queue if kcbclw reaches this            1

 

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.