LOG FILE SWITCH等待事件

lsm_3036發表於2011-08-24

log file switch completion,log file switch (archiving needed) log file switch (checkpoint incomplete)

這三個等待事件是沒有引數的,在10g中,它位於configuration類下

SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name in( 'log file switch completion',
  2  'log file switch (checkpoint incomplete)','log file switch (archiving needed)');

NAME                                          PARAMETER1 PARAMETER2 PARAMETER3 WAIT_CLASS
--------------------------------------------- ---------- ---------- ---------- -------------------------------------------------------
log file switch (checkpoint incomplete)                                        Configuration
log file switch (archiving needed)                                             Configuration
log file switch completion                                                     Configuration

當這三個等待事件出現比較頻繁,可能是由於事物繁忙,導致redo生成過快,日誌檔案過小造成的。

這個時候可以考慮增大日誌檔案大小,增加日誌檔案組,刪除以前過小的日誌檔案。

另外

log file switch (checkpoint incomplete)也有可能是dbwr寫太慢,引起的,可能需要增加dbwr數量,調整I/O。

log file switch (archiving needed) 這個等待事件也有可能是歸檔太慢,應該將歸檔日誌存放在I/O快速的磁碟上,增加歸檔程式

調整log_archive_max_processes歸檔程式。

在日誌切換的過程中,lgwr程式首先要關閉current日誌組,然後開啟下一個日誌組,這個過程中任何DML操作都無法進行,直到切換完成。日誌切換的時候需進行歸檔,checkpoint,如果歸檔慢,DBWR慢,必然導致前臺業務等待,這個等待過程如果比較長,會導致使用者響應緩慢,所以出現了上述三類等待事件,應該引起足夠重視,Oracle推薦的日誌切換事件一般是20分鐘,當然在業務很繁忙的情況下日誌切換比較頻繁,可能幾分鐘就切換一次,如果沒有引起log file switch 之類的等待事件,就不需要增大日誌檔案了,太大的日誌檔案可能導致損失過多的資料。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16978544/viewspace-705692/,如需轉載,請註明出處,否則將追究法律責任。

相關文章