【Oracle】-【體系結構-DBWR】-DBWR程式相關理解
對DBWR的一些理解
首先從名稱上,DBWR全稱是Database Writer Process,屬於Oracle後臺程式的一種,有的地方也叫DBWn,我想這裡是出於DBWR程式個數的原因,DBWR程式在一個Oracle Server中可以最多有20個,編號是DBW1-DBW9和DBWa-DBWj,下面根據不同文件、官方手冊以及高手帖的理解,總結關於DBWR的一些關鍵點:
1、DBWR是將資料庫buffer cache中的dirty資料塊寫到磁碟中,這裡dirty表示的是buffer cache中被修改的buffer快取,DBWR是根據LRU演算法實現從快取寫到磁碟的,與dirty相對的還有cold(或clean)塊的概念,即未修改的快取。根據LRU演算法,DBWR會將最近最少被使用的buffer寫入磁碟,以讓其它的資料內容可以寫入該快取,也就是free buffer增加,否則一味地佔用buffer cache,新的資料就不能利用buffer cache了。
2、新增的DBWn不能在單處理器中使用,對於數量,每8個CPU可以至少利用一個DBWR程式,如果是處理器組,那麼有多少個處理器組,就應該有多少個DBWR程式。DBWR的個數可以由初始化引數DB_WRITER_PROCESSES決定。總結來講,DBWR的個數如果沒有在啟動時由使用者指定,那麼Oracle會根據CPU和處理器組的個數來設定DB_WRITER_PROCESSES引數。
3、DBWR程式會將dirty快取寫入磁碟,條件是:
(1)、服務程式在掃描buffer個數閾值(由隱藏引數:_db_block_max_scan_pct,代表已經掃描的buffer header的個數佔整個LRU連結串列上buffer header總數的百分比)後還沒找到一塊clean未用的快取時,會觸發DBWR。當執行其它處理時,DBWR會非同步地將dirty快取寫入磁碟。
(2)、當出現checkpoint時,DBWR會將dirty的快取寫到磁碟。
(3)、資料檔案或表空間離線。
(4)、表空間在備份。
(5)、表空間只讀。
(6)、超時。
(7)、表被刪除或截斷。
4、DBWR是批量(多塊)寫入,以提高效能。塊的數量在不同的作業系統有不同的設定。
5、關於DB_WRITER_PROCESSES,官方文件註明它的預設值是1或CPU數量/8,以及任何大於它的值,範圍是1到20。
最重要的一點就是不是每次交易執行commit時,都會立即呼叫DBWR,換句話說,commit時DBWR不會做任何事情。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-767166/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DBWR程式Oracle
- 【Oracle】-【LRU和DBWR】-LRU演算法與DBWR中的應用Oracle演算法
- Oracle DBWR觸發條件Oracle
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件 總結Oracle
- 修改dbwr後臺程式數量
- LGWR DBWR SMON 等程式說明
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件Oracle
- dbwr相關引數db_writer_processes及dbw_io_slaves初印象
- DBWR,LGWR,CKPT,ARCH觸發條件總結
- oracle buffer cache管理機制之lruw_dbwrOracle
- DBWR 寫資料檔案 (zt)
- 結構體相關結構體
- DBWR_IO_SLAVES & db_writer_processes
- oracle實驗記錄(buffer_cache分析(4)dbwr,lgwr,ckpt)Oracle
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- Commit和dbwr沒有任何關係、物理讀產生邏輯讀、快照過舊的理解MIT
- Oracle體系結構之-Oracle後臺程式Oracle
- ORACLE 記憶體結構理解.Oracle記憶體
- oracle體系結構梳理----各種程式Oracle
- oracle體系結構Oracle
- 【Oracle】-【體系結構-LGWR】-LGWR的一些理解Oracle
- DBWR,LGWR,CKPT,ARCH等常見後臺程式觸發條件彙總
- 【轉載】oracle的io優化--db_writer_processes & dbwr_io_slaves對比Oracle優化
- ORACLE體系結構小結Oracle
- oracle體系結構總結Oracle
- interrupt結構體和相關函式結構體函式
- Oracle體系結構之-物理結構Oracle
- Oracle體系結構之-記憶體結構Oracle記憶體
- 【體系結構】與Checkpoint相關的問題解決思路
- oracle體系結構(轉)Oracle
- ORACLE-體系結構Oracle
- Oracle體系結構梳理Oracle
- Oracle 體系結構圖Oracle
- oracle體系結構(1)Oracle
- oracle體系結構(2)Oracle
- oracle體系結構(3)Oracle
- rust程式設計(3)結構體相關概念和疑問Rust程式設計結構體
- 3:Oracle體系結構(邏輯結構)Oracle