首页 > Oracle > Oracle 增加切换redo日志文件的大小!
2013
09-25

Oracle 增加切换redo日志文件的大小!

笔者在有一次工作的时候,发现一线的数据库环境非常慢,做了一份awr日志,发现redo日志切换太频繁,导致log file switch等待事件。

数据库环境为oracle 11gr1  ,服务器为linux suse 11, 内存大小24G,cpu个数:12个

大家注意看awr报告中显示redo size每秒3MB,

Oracle 增加切换redo日志文件的大小! - 第1张  | Jerry大数据之路

top5中显示日志切换频繁导致了log file switch等待事件

Oracle 增加切换redo日志文件的大小! - 第2张  | Jerry大数据之路

查询数据库中的redo大小:

我们可以看到如上的redo共3组,每组大小才50M,按照每秒3M的写入,那一组redo写满只需要15秒左右,然后切换下一组redo,这样redo状态来不及更新。就会导致log file switch等待事件。

增加新的日志文件组,ps:我这里大小就只创建50m了,这里按照实际情况设置

SQL> alter database add logfile group 4 ‘/opt/oracle/oradata/orcl/redo04.log’ size 50m; Database altered. SQL> alter database add logfile group 5 ‘/opt/oracle/oradata/orcl/redo05.log’ size 50m; Database altered. SQL> alter database add logfile group 6 ‘/opt/oracle/oradata/orcl/redo06.log’ size 50m; Database altered.

此时我们看到的新增redo文件没用使用

切换日志文件组到新的日志文件

如果status显示为inactive状态,我们删掉原来旧的日志文件,在这里也就是group#为1,2,3

此时我们看到的redo日志文件组为4,5,6,如果需要,我们这里可以重新吧group#按照上面的方法改为1,2,3。步骤如下:

创建日志文件组:

然后再创建日志文件组:大小一定要规划一下。

然后切换日志文件:

如果status显示为inactive状态,我们删掉那些日志文件,在这里也就是group#为4,5,6

当状态为active的时候,删除是会报错的,当前group 4和group 5已经删除成功

删除redo group 6 成功

最后不要忘记删掉物理文件哦

这样我们的日志就切换过来了,当然要看当前数据库的负载情况,需要多大的redo。需要几组。都需要经过DBA的计算。

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL