Oracle Redo Log Buffer的大小设置

2014-11-24 18:03:18 · 作者: · 浏览: 1

Redo Log Buffer的大小由初始化参数LOG_BUFFER定义,该参数的缺省值为Max(512KB,128KB*CPU_COUNT)。通常这一缺省值是足够的,我们知道,Redo Log Buffer的写出操作是相当频繁的,所以过大的Log Buffer设置通常是没有必要的;如果缺省值不能满足要求,一般来说3MB是一个较为合理的调整开端。


log_buffer参数的设置是否需要调整,可以从数据库的等待事件来判断:


sys@ORCL> select event#,name from v$event_name where name='log buffer space';



EVENT# NAME


---------- --------------------------------------------------


109 log buffer space


当Log Buffer Space等待事件出现并且较为显著时,可以考虑增大Log Buffer以缩减竞争。


sys@ORCL> select * from v$version where rownum<2;



BANNER


----------------------------------------------------------------


Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi



sys@ORCL> show parameter log_buffer



NAME TYPE VALUE


------------------------------------ ----------- ------------------------------


log_buffer integer 14238720



sys@ORCL> select * from v$sgainfo where name in ('Fixed SGA Size','Redo Buffers','Granule Size');



NAME BYTES RES


-------------------------------------------------- ---------- ---


Fixed SGA Size 2091144 No


Redo Buffers 14684160 No


Granule Size 16777216 No



sys@ORCL> select (2091144+14238720)/16777216 from dual;



(2091144+14238720)/16777216


---------------------------


.973335743



如果不是有明显的性能问题,一般缺省的设置是足够的。