的大小由初始化参数定义,该参数的缺省值为Max(512KB,128KB*CPU_COUNT)。通常这一缺省值是足够的,我们知道,Redo Log Buffer的的,所以过大的Log Buffer设置通常是没有必要的;如果缺省值不能满足要求,一般来说3MB是一个较为合理的调整开端。
log_buffer参数的设置是否需要调整,可以从数据库的等待事件来判断:
sys@ORCL>
EVENT# NAME
---------- --------------------------------------------------
109 log buffer space
当Log Buffer Space等待事件出现并且较为显著时,可以考虑增大Log Buffer以缩减竞争。
从Oracle 10g开始,LOG_BUFFER的分配算法有所改变,由于Granule的引入,LOG_BUFFER的分配也需要以Granule为基础,:
sys@ORCL>
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
sys@ORCL>
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_buffer integer
sys@ORCL>
NAME BYTES RES
-------------------------------------------------- ---------- ---
Fixed SGA Size No
Redo Buffers 14684160 No
Granule Size 16777216 No
sys@ORCL>
(2091144+14238720)/16777216
---------------------------