log file switch (checkpoint incomplete)等待事件

531968912發表於2016-08-01
2015.06.02
 
       今天在awr報告的時候,看到top出現了log file switch (checkpoint incomplete) 後臺程式lgwr的等待事件。

Oracle給出的log file awitch 型別的等待事件有五種:

目前解決的辦法:
  1.新增日誌組
 2.按照實際情況
增大日誌組成員的大小。或者同時做1,2


網上技術好友給出的解釋:

伺服器程式正要寫入重做記錄的時刻,若重做日誌檔案已滿不能繼續寫入操作,則程式想LGWR請求執行對日誌檔案的切換。伺服器程式由於LGWR,直到日誌檔案切換結束為止,需等待log file switch completion事件。但日誌檔案的切換結束時,如果將要投入使用的重做日誌檔案,還有沒有完成的工作,就需要另外等待如下事件。

(1)如果對欲重新使用的重做日誌檔案尚未結束檢查點,程式就應該等待由DBWR來結束檢查點。這時,程式將等待log file switch (checkpoint incomplete)事件。
(2)如果對欲重新使用的重做日誌檔案尚未完成對黨工作,程式就應該等待ARCH程式來結束歸檔工作。這時,程式將等待log file switch (archiving needed)事件。這個事件只在歸檔模式資料庫上發生。
(3)如果對於欲重新使用的重做日誌檔案尚未完成對private strand的flush工作,就應該等待這個工作結束。這時,程式將等待log file switch (private strand flush incomplete)事件。

以上的三種等待現象在重做日誌檔案被迴圈使用的情況下,將生成許多重做資料,所以在尚未完成工作就重新使用時發生。因此這些等待現象一向是與log file switch completion等待現象一起出現的。準確的說,伺服器程式首先等待log file switch completion事件,特殊情況下還會等待log file switch (checkpoint incomplete)、log file switch (archiving needed)和log file switch (private strand flush incomplete)事件。

因為名字相似,所以給管理人員帶來了相當混亂的幾個等待現象,發生原因和解決方式相同。發生原因是比起事務所建立的重做資料,重做日誌檔案過小。所以解決方法是將重做日誌檔案的大小調整為足夠大。而且,使用Direct load operation或nologging選項對減少重做資料的量也是有幫助的。


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

相關文章