ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【转】Oracle的log_buffer该设为多大?

【转】Oracle的log_buffer该设为多大?

原创 Linux操作系统 作者:ljm0211 时间:2012-06-20 16:26:14 0 删除 编辑
各地现场的log_buffer都不一样,有的现场设置为200M,有的现场设置500K。到底应该设多大呢?

   log_buffer是Redo log的buffer。
   因此在这里必须要了解Redo Log的触发事件(LGWR)
       1、当redolog buffer的容量达到1/3
        2、设定的写redolog时间间隔到达,一般为3秒钟。
        3、redolog buffer中重做日志容量到达1M
        4、在DBWn将缓冲区中的数据写入到数据文件之前
        5、每一次commit--提交事务。
   上面的结论可以换句话说
       1、log_buffer中的内容满1/3,缓存刷新一次。
       2、最长间隔3秒钟,缓存刷新一次
       3、log_buffer中的数据到达1M,缓存刷新一次。
       4、每次提交一个“事务”,缓存刷新一次

   由此可以得出log_buffer一般在3-5M就足够了。超过3-5M,仅仅是浪费内存;当然太小了,也可能影响性能。在内存不太昂贵的今天,且如果你有大量“大事务”,log_buffer就设定为5M吧。

   1、如何查看log_buffer大小?
       SQL>show parameter log_buffer
   2、如何设定log_buffer?
       log_buffer是不能在线调整的。最简单的方法就是在init.ora文件中添加一句 "log_buffer=5000000"。然后用这个init.ora重启Oracle(SQL>startuppfile=init.ora)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733442/,如需转载,请注明出处,否则将追究法律责任。

上一篇: RAC & Dataguard问题
下一篇: SQL优化34条
请登录后发表评论 登录
全部评论

注册时间:2009-05-14

  • 博文量
    272
  • 访问量
    437191