在设置日志缓冲区时,可以参考这个建议的公式来计算:1.5*(平均每个事务所产生的重做记录*每秒提交的事务数量)。
总事务量
SQL> SELECT A.VALUE AS TRANCOUNT FROM V$SYSSTAT A ,V$STATNAME B WHERE A.STATISTIC#=B.STATISTIC# AND B.NAME='user commits';
系统总共运行的时间:
SQL> SELECT TRUNC(SYSDATE-STARTUP_TIME)*24*60*60 AS SECONDS FROM V$INSTANCE;
产生的所有重做记录大小
SQL> SELECT VALUE AS REDOBLOCKS FROM V$SYSSTAT WHERE NAME='redo blocks written';
日志缓冲区大小=1.5*(redoblocks/trancount)*(trancount/seconds)
采用数学之后约分之后,日志缓冲区大小=1.5*(redoblocks/seconds)
FROM 韩思捷<>
查询日志缓冲区的块尺寸大小
SQL> SELECT DISTANCT LEBSZ AS REDO_BLOCK_SIZE FROM X$KCCLE;
PS:具体设置还得看实际的生产系统。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24389441/viewspace-1056559/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24389441/viewspace-1056559/