Oracle DBWR程式
觸發DBWR程式的事件:
1.當使用者程式在LRU列表中搜尋了一定數量的快取塊後,仍然沒有找到可用的空閒快取塊,DBWR程式將啟動,把髒快取塊寫入資料檔案。
2.Checkpoint發生時,DBWR程式把所有的髒快取塊從LRU列表中移入到寫入列表,並寫入到資料檔案。
3.資料庫快取塊中的寫入列表的長度達到一定值的時候,DBWR將寫入列表中的髒快取塊寫入資料檔案。
4.每過3秒鐘,DBWR把髒快取塊從LRU列表移到寫入列表,一旦寫入列表長度達到一定值,DBWR便將資料寫入資料檔案。
5.當表空間offline時,DBWR把所有屬於該表空間的髒快取塊從LRU列表移到寫入列表,並且開始寫入資料檔案。
6.當表空間開始熱備時,DBWR把所有屬於該表空間的髒快取塊從LRU列表移到寫入列表,並且開始寫入資料檔案。
-----------------------------------------------------------
我們已經知道DBWR程式負責將髒資料塊寫入磁碟。這些條件包括:1) 當程式在輔助LRU連結串列和主LRU連結串列上掃描以查詢可以覆蓋的buffer header時,如果已經掃描的buffer header的數量到達一定的限度(由隱藏引數:_db_block_max_scan_pct決定)時,觸發DBWR程式。2) 當DBWR在主LRUW連結串列上查詢已經更新完而正在等待被寫入資料檔案的buffer header時,如果找到的buffer header的數量超過一定限度(由隱藏引數:_db_writer_scan_depth_pct決定)時,DBWR就不再繼續往下掃描了,而轉到輔助LRUW連結串列上將其上的髒資料塊寫入資料檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84550/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle】-【體系結構-DBWR】-DBWR程式相關理解Oracle
- Oracle DBWR觸發條件Oracle
- 【Oracle】-【LRU和DBWR】-LRU演算法與DBWR中的應用Oracle演算法
- 修改dbwr後臺程式數量
- LGWR DBWR SMON 等程式說明
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件Oracle
- oracle buffer cache管理機制之lruw_dbwrOracle
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件 總結Oracle
- oracle實驗記錄(buffer_cache分析(4)dbwr,lgwr,ckpt)Oracle
- DBWR 寫資料檔案 (zt)
- DBWR_IO_SLAVES & db_writer_processes
- 【轉載】oracle的io優化--db_writer_processes & dbwr_io_slaves對比Oracle優化
- DBWR,LGWR,CKPT,ARCH等常見後臺程式觸發條件彙總
- DBWR,LGWR,CKPT,ARCH觸發條件總結
- 觸發DBWR程式寫髒資料塊到資料檔案的幾個條件
- dbwr相關引數db_writer_processes及dbw_io_slaves初印象
- Oracle 程式Oracle
- oracle 程式(二)Oracle
- Oracle程式包Oracle
- Oracle LGWR程式Oracle
- Oracle DBSNMP程式Oracle
- oracle殺程式Oracle
- Oracle程式簡介Oracle
- ORACLE後臺程式Oracle
- oracle 後臺程式Oracle
- Oracle系統程式Oracle
- Oracle程式架構Oracle架構
- ORA-01157: cannot identify/lock data file %s - see DBWR trace file的處理IDE
- Commit和dbwr沒有任何關係、物理讀產生邏輯讀、快照過舊的理解MIT
- 水煮oracle48---oracle10程式總結Oracle
- Oracle 服務端程式Oracle服務端
- Oracle:RAC 程式簡介Oracle
- Windows下kill oracle程式WindowsOracle
- WINDOWS ORACLE 後臺程式WindowsOracle
- Oracle後臺程式列表Oracle
- Oracle SMON程式的作用Oracle
- oracle修改程式數Oracle
- Oracle中的checkpoint程式Oracle