How to Tune log File Sync?

当会话等待redo log buffer 中的信息被写到磁盘的时候就会发生Log file sync waits 等待事件。
通常这是由LGWR的磁盘写入速度慢或者用户的频繁递交引起的。
下面是一些常用的减少log file sync waits 等待时间的方法:
1)调整LGWR以获得更好的磁盘写入吞吐量。
2)如果在短时间段内有很多事务,看有没有可能把这些事务分批处理以减少commit操作。
每个递交动作oracle都会首先去确认相关的redo log 信息以及被写到了磁盘。
3)看是不是有可能使用COMMIT NOWAIT 选项。在Oracle 10g R2中,Oracle增强了COMMIT命令,
增加了WRITE语句来控制redo log文件写入磁盘的方式以提高性能。这个新特性应该只是被用在以下情况:
(1)大事务量导致的redo log 写。
(2)在实例崩溃的时候,可以接受数据的丢失。
(3)处理的事务会引起严重的redo log writes 等待。

COMMIT语句的一些可用选项:
COMMIT;
COMMIT WRITE WAIT;      –> The commit command is synchronous. It doesn’t return until the relevant redo information is written to the online redo log.
COMMIT WRITE NOWAIT;    –> The commit command is asynchronous. [...]