修改Oracle的redo log日志大小来缓解频繁写入Oracle数据形成的io压力

根据导出的oracle的awr报告分析发现数据的库存在日志频繁切换,通过排查发现redo log日志过小,因此进行以下调整。数据库

1.查看当前日志组成员centos

SQL> select member from v$logfile;
oracle

2.查看当前日志组状态.net

SQL> select group#,members,bytes/1024/1024,status from v$log;
  日志

注释:
a. CURRENT指当前的日志文件,在进行实例恢复时是必须的;blog

b. ACTIVE是指活动的非当前日志,在进行实例恢复时会被用到。Active状态意味着,Checkpoint还没有完成,所以该日志文件不能被覆盖。get

c. INACTIVE是非活动日志,在实例恢复时再也不须要,但在介质恢复时可能须要。it

d. UNUSED表示该日志从未被写入,多是刚添加的,或RESETLOGS后被重置。class

从如上信息能够看出,目前数据库有三个成员,1为CURRENT,2,3为INACTIVE,大小为50m,如今修改为200m,500m更好看须要。file

3.删除旧日志组,增长新的日志组

SQL>alter database drop logfile group 3;
--删除物理磁盘中的redo03.log
[oracle@centos ~]# mv /home/oracle/oradata/xdjadb/redo03.log /tmp


SQL>alter database add logfile group 3 ('/home/oracle/oradata/xdjadb/redo03.log') size 200M;

redo log的大小改成了200m
查看当前日志组状态

SQL> select group#,members,bytes/1024/1024,status from v$log;


一样能够继续删除日志组2,和日志组1

至此3个日志文件所有修改为大小200m。

注释:若是删除失败提示没法删除须要先切换到别的redo log

alter system switch logfile;当须要删除的日志组状态为inactive时再执行删除组便可

相关文章
相关标签/搜索