日志文件的大小应该与你的数据库的事务频繁程度有关系,如果你的数据库很繁忙,日志切换很频繁的话,那日志的大小就要大一点了,否则会影响数据库的效率,产生大量的check point imcomplete ,因为日志切换过于频繁,将要被覆盖的日志里面的脏数据还没有被写到磁盘文件,造成等待,
Oracle10g默认的redo log file大小为50m,在使用中经常会发现alter log里存在大量Checkpoint not complete的问题。问题显现如下截图:
这个问题大家应该都清楚是什么,要解决无非就是要增加redo log file的大小,但是增加到多少比较合适呢?
此处介绍一个测算的方法,10g及以上可以使用AWR report对一个稳定运行周期生成报表,具体周期要看db的使用情况。如下图所示:
Load Profile
Per Second Per Transaction
Redo size 33,965.00 10,458.49
根据报表给出的数据,redo size 每秒是33k,而对redo log的建议一般是每小时切换2-3次,
就以20分钟切换一次为例,redo log file的大小就应该设置为 redo size * 60 * 20 ,即 33k * 60 * 20,所以redo log file的大小应设置为39M,本次实验数据库实例ORCL的,是使用的默认redo log file大小50M.空间比较充足的可以设置富裕一些。
在线切换日志:
1、查看每组日志的大小和状态:
select group#,sequence#,bytes,members,status from v$log;
2、新添加三个日志组GROUP#4,5,6
alter database add logfile group 4 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04.LOG') size 100M;
alter database add logfile group 5 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO05.LOG') size 100M;
alter database add logfile group 6 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO06.LOG') size 100M;
3、切换日志组:
alter system switch logfile;
4、删除日志组1,2,3组:
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27025927/viewspace-1293546/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27025927/viewspace-1293546/