溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

log file sync事件

發(fā)布時間:2020-06-03 14:18:39 來源:網(wǎng)絡(luò) 閱讀:232 作者:jsj_007 欄目:關(guān)系型數(shù)據(jù)庫

當(dāng)用戶(前臺進(jìn)程)對事務(wù)進(jìn)行提交或回滾操作時,oracle需要將涉及該事務(wù)的所有redo條目信息全部寫入到red logfile中。前臺進(jìn)程會通知lgwrredo log buffer中的重做日志條目寫出到redo logfile中。在11.2.0.3之前,lgwr會在寫入完成后通知前臺進(jìn)程,用戶進(jìn)程會一直等待,直到獲取到lgwr通知信息,保證所有的redo信息已全部安全的寫入磁盤。在11.2.0.3及以后,默認(rèn)情況下,lgwr寫日志完成時不再主動的通知前臺用戶進(jìn)程,由前臺進(jìn)程按時間間隔輪詢查詢?nèi)罩镜膶懭肭闆r。前臺進(jìn)程在等待寫入通知消息前,在數(shù)據(jù)庫中可能會看到log file parallel writelog file sync等待事件。

由以上過程可知,Log file sync等待事件可能由以下原因引起:

1.         Commit

2.         Rollback

3.         DDL操作

4.         數(shù)據(jù)字典更新(seq獲?。?/span>

oracle的建議log file sync等待事件的平均等待時間要保持在20ms以內(nèi)。通常,該等待事件的平均等待時間一般在5ms以下。10ms也不一定有問題,需要看整體的系統(tǒng)運(yùn)行情況。

通常出現(xiàn)log file sync事件可從以下幾個方面進(jìn)行調(diào)整:

1.         Redo log不要放在raid5

2.         將小而短的事務(wù)進(jìn)行合并,批量執(zhí)行(減少commit)

3.         使用COMMIT NOWAIT選項(10.2提供,異步提交,可能導(dǎo)致日志丟失)

4.         使用NOLOGGING / UNRECOVERABLE選項

5.         保證log切換時間間隔在15-20分鐘

log file sync的整個過程可以細(xì)分為以下幾個階段:

            1)         用戶提交

            2)         通知LGWR寫日志,LGWR喚醒

            3)         LGWR收集redo信息寫I/O

            4)         LGWR寫完成

            5)         LGWR通知前臺進(jìn)程

            6)         前臺進(jìn)行收到通知,喚醒

2步及第3步的寫入時間可以參考awrInstance Activity Stats-redo write time部分。第3步會伴隨log file parallel write等待事件。系統(tǒng)負(fù)載較高時,第5步及第6步可能會產(chǎn)生延時。

整個過程可能使用下圖(tanel poder大師的圖)來表示:

log file sync事件

 有關(guān)log file sync討論:
完全揭秘log file sync等待事件:http://www.itpub.net/thread-1777234-1-1.html


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI