待事件】日志类 等待事件(4.6)--log file single write

 

SELECT * FROM V$EVENT_NAME A WHERE A.NAME LIKE 'log file single write';

【等待事件】日志类 等待事件(4.6)--log file single write_等待事件  

这个等待事件包含三个参数:

     Log#: 正在被写入的重做日志文件组的组号。

     Block#:写入的数据块号。

     Blocks:写入的数据块个数。

这个等待事件是指等待写重做日志文件操作完成,常常是在等待写重做日志文件头,例如在增加一个新的重做日志组成员的时候,Oracle数据库就会往这个重做日志文件头写入相应的sequence号。

这个等待事件发生在更新redo log文件的文件头时,当为日志组增加新的日志成员时或者redo log的sequence号改变时,LGWR 都会更新redo log文件头信息。

因为single write通常都是在写或者重写日志文件头的时候出现,因此开始的block号总是为1。一般如果出现这个等待事件,应该对重做日志文件尽量使用裸设备,避免将多个日志文件放在同一个磁盘上,减少产生I/O竞争的可能。

日志文件写等待,注意,这里所指的写,并不是从日志缓存写到日志文件,这里的写并不涉及日志缓存,此事件只代表写日志文件头时发生的等待.有两种情况日志文件头被写:当添加新的成员文件或日志序列号增加.应对日志文件尽量使用裸设备.或避免将日志文件放在同一磁盘上,以减少此事件产生的可能。

该事件仅与写日志文件头块相关,通常发生在增加新的组成员和增进序列号(Log switch)时。头块写单个进行,因为头块的部分信息是文件号,每个文件不同。更新日志文件头这个操作在后台完成,一般很少出现等待,无需太多关注。