配置并使用Redo Log Buffer

当buffer cache中的数据块被修改后,服务器进程生成redo数据并写入到redo log buffer中。当满足以下条件时,LGWR会将redo log buffer中的条目开始写入在线重做日志:
--redo log buffer满1/3.
--每3秒超时(Timeout).
--log_buffer中的数据到达1M.
--事务提交时.

当LGWR将redo log buffer中的重做条目写入到在线重做日志文件或磁盘后,用户进程就可以复制新的条目到redo log buffer,以覆盖内存中被写入到磁盘的条目。LGWR写入速度通常很快,足以确保缓冲区的空间总可以写入新条目,即使在对重做日志的访问很频繁时也是如此。

如果我们的系统拥有快速处理器和I/O相对较慢的磁盘,处理器可能会填满缓存区的其余空间,这时会促使LGWR移动缓冲区的部分数据到磁盘。在这种情况下, 较大的日志缓冲区能够临时掩盖较慢磁盘对系统带来的影响。你这可做下面的选择:
--提升checkpoint或归档进程
--提升LGWR性能(也许你可以将所有的在线重做日志放置到速度更快的裸设备)

合理使用redo log buffer:
--执行批量操作时使用批量提交,以至LGWR能够更高效的写入重做条目到在线重做日志文件中。
--当加载大量数据时,使用nologging操作。



设置Log Buffer  
redo log buffer由初始化参数LOG_BUFFER决定,修改该参数需要重启实例。
适当的redo log buffer参数值能够明显的提升系统吞吐量,尤其对于插入,更新,删除大数据量的系统。
默认的log buffer值:MAX(0.5M,(128K*number of cpus)),通常默认值是足够的。
增加log buffer的值对系统性能或可恢复性不会产生负面影响,而仅仅会使用额外的内存。


评估Log Buffer

关注redo buffer allocation retries等待事件:用户进程等待redo log buffer空间的次数。

SQL> SELECT NAME, VALUE
  2    FROM V$SYSSTAT
  3   WHERE NAME = 'redo buffer allocation retries';
 
NAME                                                                  VALUE
---------------------------------------------------------------- ----------
redo buffer allocation retries                                            0
redo buffer allocation retries的值应该接近于0。这个等待由log buffer太小或checkpointing导致。你 可以增加log buffer的值,或者提升checkpointing或归档进程。

另一个需要关注的等待事件:log buffer space。
v$session_wait视图指明在”log buffer space%”事件过程中,是否存在因会话向日志缓冲区中写入数据的速度大于LGWR写出数据的速度,而产生的任何对日志缓冲区空间的等待。

SQL> SELECT sid, event, seconds_in_wait, state
  2    FROM v$session_wait
  3   WHERE event = 'log buffer space%';
 
       SID EVENT                                                            SECONDS_IN_WAIT STATE
---------- ---------------------------------------------------------------- --------------- -----
如果出现log buffer space等待事件,
可以增加log buffer的值

或将重做日志文件移动到更快的磁盘,如条带化磁盘。

参考:

Configuring and Using the Redo Log Buffer
http://docs.oracle.com/cd/B19306_01/server.102/b14211/memory.htm#i29756


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值