log buffer —— log file parallel write

log file parallel write事件是只在LGWR进程上发生的等待事件。LGWR为了将重做缓冲区的内容记录到重做日志文件里,在执行必要的I/O调用后,在等待I/O工作结束期间等待log file parallel write事件。

SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'log file parallel write';

    EVENT# NAME                           PARAMETER1      PARAMETER2      PARAMETER3
---------- ------------------------------ --------------- --------------- ---------------
       131 log file parallel write        files           blocks          requests
这个等待事件包含三个参数。
files:操作需要写入的文件个数。
blocks:操作需要写入的数据块个数。
requests:操作需要执行的I/O次数。


log file parallel write等待,与db file parallel write等待属性基本类似。这两个等待从根本上与I/O系统性能问题关联较多。例如以下几个:I/O系统的性能不存在问题,但脏缓冲区的数据量过多时,db file parallel write等待可能增加。与此相同,I/O系统的性能上没有任何征兆,但重做数据量过多时,log file parallel write等待可能增加。这时的性能问题是过多创建数据的应用程序问题?还是无法以更快的速度处理数据的I/O系统问题?一般是从应用程序上寻找问题和解决方法,如果找不到更多的解决方法,就应该认为是I/O系统的问题。特别是从经济角度出发应该遵循这个方法。
解决log file parallel write等待的方法一般与log file sync 等待类似。两个等待事件都被LGWR的性能所左右。
减少不必要的提交。
应用nologging选项,减少重做数据量。
提高重做日志文件所在的I/O系统的性能。


前台进程a通知LGWR要刷log buffer了,这时候a就开始等待log file sync,LGWR接到a的请求后开始等待OS把log buffer写回redo log,这时候LGWR就开始等待log file parallel write,OS写完了通知LGWR,中止log file parallel write等待,接着LGWR通知a,中止log file sync等待,这就是上述两种等待的区别。
有上面这个形象的例子,可以明白等待事件log file sync和log file parallel write是同时存在的,均是等待LGWR进程将log buffer中的redo entries写入online redo log的完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值