这里要说明:Oracle的最小IO单位是db_block_size,但是redo的最小IO单位是操作系统的sector(也就是操作系统的IO最小单位)
选择数据库比较繁忙的时间来进行此估量
1.求每个重做条目的平均大小(单位为byte)
这个值是指自该数据库启动以来重做记录的平均大小
select trunc(r.value/e.value,2) as "average size of redo entries"
from v$sysstat r,v$sysstat e
where r.name='redo size' and e.name='redo entries';
2.求当前的并行事物数
由于我们选择的是业务高峰期,所以并发事物也是最大值
select count(*) as "concurrent transaction"
from v$transaction;
redo buffer的大小:
average size of redo entries*concurrent transaction*1.10=redo buffer estimate size
3.查看数据库当前所在的操作系统的sector(也就是操作系统的最小IO单位)
select max(lebsz) as "sector of system" from x$kccle;
4.最终的redo大小应该为
ceil是Oracle的四舍五入的函数
ceil(redo buffer estimate size/sector of system)*sector of system=redo_buffer
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20516214/viewspace-1445253/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20516214/viewspace-1445253/