【Oracle】-【體系結構-LGWR】-LGWR的一些理解
LGWR的一些理解:
LGWR,是Log Writer的縮寫,也是一種後臺程式。主要負責將日誌緩衝內容寫到磁碟的線上重做日誌檔案或組中。DBWn將dirty塊寫到磁碟之前,所有與buffer修改相關的redo log都需要由LGWR寫入磁碟的線上重做日誌檔案(組),如果未寫完,那麼DBWn會等待LGWR,也會產生一些相應的等待事件(例如:log file prarllel write,後面單獨作為話題再聊)。總之,這樣做的目的就是為了當crash時,可以有恢復之前操作的可能,也是Oracle在保持交易完整性方面的一個機制。
相關知識點:
1、LGWR寫日誌是順序寫,這就解釋了一個Orace Server只能有一個LGWR程式,不能像DBWR那樣可以有多個,否則就無法保證順序寫的機制,而且可能會產生鎖的問題。
2、使用者程式每次修改記憶體資料塊時,都會在日誌緩衝區(redo buffer)中構造一個相應的重做條目(redo entry),它記錄了被修改資料塊修改之前和之後的值。
3、LGWR將redo entry寫入聯機日誌檔案的情況可以概括為兩種:後臺寫和同步寫,或者說非同步寫和同步寫。
後臺寫的條件:
(1)、每3秒LGWR啟動一次。
(2)、DBWR啟動時如果發現dirty塊對應的redo entry還沒寫入聯機日誌檔案,則DBWR觸發LGWR程式並等待LGWR完成後繼續。
(3)、redo entry數量達到整個log buffer的1/3時,觸發LGWR。
(4)、redo entry的數量達到1M。
同步寫的條件:
COMMIT。即執行COMMIT時,必須等待log buffer進行flushing操作(可能產生log file sync等待事件),寫入磁碟中的聯機日誌檔案。但一般上述1/3滿的條件觸發LGWR,幾乎強制LGWR實時寫,因此當需要執行COMMIT,可能沒有任何redo entry需要寫入了。
4、3秒觸發LGWR的規則,事實上,這個超時是DBWR的,但是因為LGWR總在DBWR呼叫之前執行,因此效果上也相當於LGWR的超時是3秒即呼叫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7192724/viewspace-767167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle LGWR程式Oracle
- Oracle 的Lgwr Worker的工作原理Oracle
- 【體系結構】Oracle資料提交與事務隔離實驗 oradebug掛起lgwr程式Oracle
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件 總結Oracle
- DBWn,CKPT,LGWR程式
- LGWR,Log Switches, and Checkpoints
- Oracle DBWR,LGWR,CKPT,ARCH 觸發條件Oracle
- Oracle9i LGWR 觸發條件Oracle
- LGWR group commits(原)MIT
- DBWR,LGWR,CKPT,ARCH觸發條件總結
- LGWR writes redo log (117)
- oracle 的伺服器程式(PMON, SMON,CKPT,DBWn,LGWR,ARCn)Oracle伺服器
- LGWR DBWR SMON 等程式說明
- Log Writer Process (LGWR) (115)
- oracle實驗記錄(buffer_cache分析(4)dbwr,lgwr,ckpt)Oracle
- CKPT、DBWn、LGWR與3S的關係
- 【Oracle】-【體系結構-DBWR】-DBWR程式相關理解Oracle
- ORACLE 記憶體結構理解.Oracle記憶體
- oracle體系結構Oracle
- 以Lgwr Worker為例,基於Strace 分析 Oracle 資料庫行為的方法Oracle資料庫
- 觸發LGWR程式寫日誌的4個條件
- ORACLE體系結構小結Oracle
- oracle體系結構總結Oracle
- Oracle體系結構之-物理結構Oracle
- Oracle體系結構之-記憶體結構Oracle記憶體
- oracle體系結構(轉)Oracle
- ORACLE-體系結構Oracle
- Oracle體系結構梳理Oracle
- Oracle 體系結構圖Oracle
- oracle體系結構(1)Oracle
- oracle體系結構(2)Oracle
- oracle體系結構(3)Oracle
- 【每日一MOS】- LGWR的trace日誌中出現Warning資訊
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- 3:Oracle體系結構(邏輯結構)Oracle
- Oracle記憶體體系結構Oracle記憶體
- 【Oracle體系結構】 Oracle19C 系統結構介紹Oracle
- PMON、SMON、DBWn、LGWR、CKPT、ARCH等後臺程式說明