Redo Log Buffer的大小由初始化参数LOG_BUFFER定义,该参数的缺省值为Max(512KB,128KB*CPU_COUNT)。通常这一缺省值是足够的,从上篇日志可以知道,Redo Log Buffer的写出操作是相当频繁的,所以过大的Log Buffer设置通常是没有必要的;如果缺省值不能满足要求,一般来说3MB是一个较为合理的调整开端。
log_buffer参数的设置是否需要调整,可以从数据库的等待事件来判断:
sys@NEI> select event#,name from v$event_name where name='log buffer space';
EVENT# NAME
---------- ------------------------------
108 log buffer space
当Log Buffer Space等待事件出现并且较为显著时,可以考虑增大Log Buffer以缩减竞争。
从Oracle 10g开始,LOG_BUFFER的分配算法有所改变,由于Granule的引入,LOG_BUFFER的分配也需要以Granule为基础,缺省的SGA中的Fixed SGA Size将和LOG_BUFFER共享整数倍的Granule:
sys@NEI> select * from v$version where rownum<2;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
sys@NEI> show parameter log_buffer
NAME TYPE VALUE
------------------------------------ ---------------------------------------- ------------------------------
log_buffer integer 7053312
sys@NEI> select * from v$sgainfo
2 where name in ('Fixed SGA Size','Redo Buffers','Granule Size');
NAME BYTES RES
------------------------------ ---------- ---
Fixed SGA Size 1220820 No
Redo Buffers 7163904 No
Granule Size 4194304 No
sys@NEI> select (1220820+7163904)/4194304 from dual;
(1220820+7163904)/4194304
-------------------------
1.99907398
如果不是有明显的性能问题,一般缺省的设置是足够的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8183550/viewspace-659579/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8183550/viewspace-659579/