log file sync事件
admin
2023-04-15 19:02:00
0次

当用户(前台进程)对事务进行提交或回滚操作时,oracle需要将涉及该事务的所有redo条目信息全部写入到red logfile中。前台进程会通知lgwr将redo log buffer中的重做日志条目写出到redo logfile中。在11.2.0.3之前,lgwr会在写入完成后通知前台进程,用户进程会一直等待,直到获取到lgwr通知信息,保证所有的redo信息已全部安全的写入磁盘。在11.2.0.3及以后,默认情况下,lgwr写日志完成时不再主动的通知前台用户进程,由前台进程按时间间隔轮询查询日志的写入情况。前台进程在等待写入通知消息前,在数据库中可能会看到log file parallel write、log file sync等待事件。

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

1.         Commit

2.         Rollback

3.         DDL操作

4.         数据字典更新(seq获取)

oracle的建议log file sync等待事件的平均等待时间要保持在20ms以内。通常,该等待事件的平均等待时间一般在5ms以下。10ms也不一定有问题,需要看整体的系统运行情况。

通常出现log file sync事件可从以下几个方面进行调整:

1.         Redo log不要放在raid5上

2.         将小而短的事务进行合并,批量执行(减少commit)

3.         使用COMMIT NOWAIT选项(10.2提供,异步提交,可能导致日志丢失)

4.         使用NOLOGGING / UNRECOVERABLE选项

5.         保证log切换时间间隔在15-20分钟

log file sync的整个过程可以细分为以下几个阶段:

            1)         用户提交

            2)         通知LGWR写日志,LGWR唤醒

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

            4)         LGWR写完成

            5)         LGWR通知前台进程

            6)         前台进行收到通知,唤醒

第2步及第3步的写入时间可以参考awr中Instance Activity Stats-redo write time部分。第3步会伴随log file parallel write等待事件。系统负载较高时,第5步及第6步可能会产生延时。

整个过程可能使用下图(tanel poder大师的图)来表示:

log file sync事件

 有关log file sync讨论:
完全揭秘log file sync等待事件:http://www.itpub.net/thread-1777234-1-1.html


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...