配置並使用Redo Log Buffer

來源:互聯網
上載者:User

當buffer cache中的資料區塊被修改後,伺服器處理序產生redo資料並寫入到redo log buffer中。當滿足以下條件時,LGWR會將redo log buffer中的條目開始寫入線上重做日誌:
--redo log buffer滿1/3.
--每3秒逾時(Timeout).
--log_buffer中的資料到達1M.
--事務提交時.

當LGWR將redo log buffer中的重做條目寫入到線上重做記錄檔或磁碟後,使用者進程就可以複製新的條目到redo log buffer,以覆蓋記憶體中被寫入到磁碟的條目。LGWR寫入速度通常很快,足以確保緩衝區的空間總可以寫入新條目,即使在對重做日誌的訪問很頻繁時也是如此。

如果我們的系統擁有快速處理器和I/O相對較慢的磁碟,處理器可能會填滿緩衝區的其餘空間,這時會促使LGWR移動緩衝區的部分資料到磁碟。在這種情況下,較大的日誌緩衝區能夠臨時掩蓋較慢磁碟對系統帶來的影響。你這可做下面的選擇:
--提升checkpoint或歸檔進程
--提升LGWR效能(也許你可以將所有的線上重做日誌放置到速度更快的裸裝置)
合理使用redo log buffer:
--執行大量操作時使用批量提交,以至LGWR能夠更高效的寫入重做條目到線上重做記錄檔中。
--當載入大量資料時,使用nologging操作。


設定Log Buffer  
redo log buffer由初始化參數LOG_BUFFER決定,修改該參數需要重啟執行個體。
適當的redo log buffer參數值能夠明顯的提升系統輸送量,尤其對於插入,更新,刪除大資料量的系統。
預設的log buffer值:MAX(0.5M,(128K*number of cpus)),通常預設值是足夠的。
增加log buffer的值對系統效能或可恢複性不會產生負面影響,而僅僅會使用額外的記憶體。

評估Log Buffer

關注redo buffer allocation retries等待事件:使用者進程等待redo log buffer空間的次數。

[sql]
  1. SQL> SELECT NAME, VALUE  
  2.   2    FROM V$SYSSTAT  
  3.   3   WHERE NAME = 'redo buffer allocation retries';  
  4.    
  5. NAME                                                                  VALUE  
  6. ---------------------------------------------------------------- ----------   
  7. redo buffer allocation retries                                            0  
redo buffer allocation retries的值應該接近於0。這個等待由log buffer太小或checkpointing導致。你可以增加log buffer的值,或者提升checkpointing或歸檔進程。

另一個需要關注的等待事件:log buffer space。
v$session_wait視圖指明在”log buffer space%”事件程序中,是否存在因會話向日誌緩衝區中寫入資料的速度大於LGWR寫出資料的速度,而產生的任何對日誌緩衝區空間的等待。

[sql]
  1. SQL> SELECT sid, event, seconds_in_wait, state  
  2.   2    FROM v$session_wait  
  3.   3   WHERE event = 'log buffer space%';  
  4.    
  5.        SID EVENT                                                            SECONDS_IN_WAIT STATE  
  6. ---------- ---------------------------------------------------------------- --------------- -----  
如果出現log buffer space等待事件,
可以增加log buffer的值

或將重做記錄檔移動到更快的磁碟,如條帶化磁碟。

相關文章

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.