Oracle Tuning Log File Sync 等待事件的几种策略

2014-11-24 18:00:42 · 作者: · 浏览: 1

在一个频繁 commit/rollback 或磁盘 I/O 有问题、大量物理读写争用,那么、我们便会经常瞧见 LOG FILE SYNC 等待事件出现在 TOP EVENTS 中,评估 LOG FILE SYNC等待事件的指标是平均等待时间、以及 AWR 后续的 WAIT EVENT HISTOGRAM


对于 OLTP、平均等待时间 7 ms算正常、正常情况下平均等待时间不会超过 10 ms


下面给出几种优化的策略、


㈠ 优化 REDO 日志的 I/O


如果能够优化 REDO 日志文件的存储、使之存放到更快的磁盘、便可减少这个等待事件单次等待时间


㈡ 加大 LOG BUFFER


加大 LOG BUFFER 、可使平均每次写入 REDO 日志文件的 REDO 字节数增加。


从而、减少 REDO 的 I/O 次数、进而达到优化 REDO 日志文件写等待时间的目的


㈢ 减少提交次数


通过加大一次提交记录的数量、减少提交批次、也可有效减少 LOG FILE SYNC等待时间


不过、此法可能需要变更应用、代价较大


㈣ 部分经常提交的事务设置为异步提交


通过设置 COMMIT_WRITE参数、可以控制异步提交该参数支持系统级、但也支持会话级


其中、"IMMEDIATE,NOWAIT"是较为常用的优化方案可通过:


● 变更参数 commit_write


● 直接命令:commit write immediate nowait


最后、Rocky 想在唠叨 3 下、我们在数据库的日常维护中应该对此建立基线(baseline)


如果这个指标有异常变化、一定要尽快分析并解决问题、一旦这个指标恶化,可能导致系统性能急剧下降、甚至会导致短暂的挂起。