log buffer space等待事件

2021-09-07 19:42:21 字數 1316 閱讀 7661

最近,我們有台伺服器在delete操作期間發現一直在等待log buffer space,其他節點就沒與這個問題。經查,向重做緩衝區上寫入重做記錄的程序,為了確保擁有重做緩衝區內必要的空間,需要獲得redo allocation鎖存器。已獲得redo allocation鎖存器的狀態下,在想要得到重做緩衝區時,若沒有適當的剩餘空間,則需要等到直到獲得空間為止。這時,根據情況等待兩種事件。如果當前正在使用的重做日誌檔案已滿,因此無法獲得剩餘空間,lgwr就會執行日誌檔案切換,伺服器程序則等待log file switch completion事件。除此之外,需等待log buffer space事件。前者在日誌檔案切換結束後,可能發生log buffer space等待瞬間增加的現象。這是因為欲在重做日誌緩衝區上寫入的多數會話,等待日誌檔案切換的結束,然後爭前恐後的為了寫入到重做日誌緩衝區上而發生爭用。

重做緩衝區小於重做資料量時,發生log buffer space等待。所以廣泛發生log buffer space等待時,應該調整重做緩衝區是否過小,必要時應將重做緩衝區調整到足夠大。如果log buffer space等待和log file switch completion等待同時出現,就有必要懷疑重做緩衝區大小和重做日誌檔案大小合理與否。許多情況下,這兩個等待是同時出現的。若重做日誌檔案過小,則log file switch completion等待會增加,在日誌檔案切換結束後,重新出現log buffer space等待現象。為減少log buffer space等待加大重做日誌緩衝區大小時,log file sync等待可能會增加。

減少log buffer space等待的另乙個方法是較少建立重做資料。適當使用direct load功能、賦予nologging選項等,都屬於此方法。

log buffer space等待具有與free buffer waits等待相似的屬性。free buffer waits等待,是因為dbwr程序無法滿足伺服器程序尋找空閒緩衝區的速度而發生的。與此相同,log buffer space等待,是因為lgwr程序無法滿足伺服器程序的尋找空閒重做緩衝區的速度而發生的。減少free buffer waits等待的一種方法就是改善dbwr的效能。與此相同,減少log buffer space等待,也是改善lgwr的效能。將更快、更有效的i/o系統應用於重做日誌檔案,可改善lgwr的寫入效能。

我們系統配置了足夠大的logfile,所以雖然一直在等待log buffer space,但是並沒有明顯的log file switch completion,因此解決方法是將log buffer從預設的30m調整為64m,如下:

alter system set log_buffer=67108864 scope=both;

重啟資料庫,觀察後面確定是否緩解該問題。

「等燈 等燈等燈」, 和 的區別

小記錄。是相等操作符,是全等操作符 的判斷標準為兩個運算元相等則返回true,的判斷標誌是兩個運算元未經轉換就相等則返回true 相等操作符的轉換規則 如果有乙個運算元是布林值,則在比較相等性之前先將其轉換為數值,false轉換為0,而true轉換為1 乙個運算元是字串,另乙個運算元是數值,則在比較...

等保03 等保測評

差分整改 重點 等級測評 等保專案交付存在的問題 等級保護工作角色分工 等級保護整體流程介紹 各個階段產出的文件 定級備案過程及工作內容 依據定級指南確定目標系統的安全保護等級,同時也是對安全保護等級確定過程的說明。1.目標業務系統描述 系統的基本功能 系統的責任部門 系統的網路結構及部署情況 採取...

等專案通知????????????????

自從五一回來,我的小球基本竣工了,工作的緊張度明顯降低了。程式編的沒有任務緊張時候認真了,不過這兩天有所調整,態度上有點起色。五一回來的任務就是把小球給改好。最主要的傘個方面,乙個是記憶體洩露,乙個是俯角和仰角,乙個是消除鍵盤控制的卡殼。磨磨唧唧地改了一周多,總算都改完了。記憶體洩露發現是有個地方n...