标签:oracle redo日志组 redo日志组成员 redo 重做日志
Oracle在线调整redo日志组数及组成员
一、调整redo日志组大小
操作原因:
redo日志一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能。通常情况下每小时不要超过6次!如果AWR(Automated Workload Repository 自动负载信息库) report中log file switch checkpoint incomplete) 比较大,说明redo log之间的切换过于频繁。可以通过增加redo log size来降低切换的频率。但如果redo log size 过大,可能带来数据库恢复时丢失数据的风险。所以要折中选择redo log size, 默认是50M。
Oracle没有提供直接修改配置文件大小的途径,但可以采取新增日志组来代替旧有日志组的方式。
例子:现在有三个日志成员,大小为50M,欲更改为100M。
1.查看当前日志组成员
SQL> select member from v$logfile;
2.查看当前日志组状态
SQL> select group#,members,bytes/1024/1024,status from v$log;
3.增加日志组
SQL>alter database add logfile group 4 (‘/u01/oracle/oradata/orcl/redo04.log‘) size 100M;
SQL>alter database add logfile group 5 (‘/u01/oracle/oradata/orcl/redo05.log‘) size 100M;
SQL>alter database add logfile group 6 (‘/u01/oracle/oradata/orcl/redo06.log‘) size 100M;
4.切换到新增的日志组上
SQL> alter system switch logfile;
(可多次执行,直到CURRENT指向新建的日志组)
5.查看当前日志组状态
SQL> select group#,members,bytes/1024/1024,status from v$log;
各种状态含义:
a.CURRENT指当前的日志文件,在进行实例恢复时是必须的;
b.ACTIVE是指活动的非当前日志,在进行实例恢复时会被用到。Active状态意味着,Checkpoint尚未完成,因此该日志文件不能被覆盖。这时也不能drop掉,应该执行alter system checkpoint; --强制执行检查点;然后在操作。
c.INACTIVE是非活动日志,在实例恢复时不再需要,但在介质恢复时可能需要。
d.UNUSED表示该日志从未被写入,可能是刚添加的,或RESETLOGS后被重置。
6.删除旧的日志组
SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;
7.在操作系统下删除掉redolog 日志文件
mv /u01/oracle/oradata/orcl/redo0[1-3] /tmp
或直接删除已经废弃的日志文件。
备注:可以先新建日志组作为过渡日志组,然后删除原有日志组并修改大小后进行重建。
二、向现有日志组新增成员
操作原因:重做日志冗余,提高数据可恢复性及完整性。
注意:若在生产库中,则将新创建的成员放到不同的磁盘上。所有日志成员大小要一致。
1.向指定日志组新增组成员
SQL> alter database add logfile member ‘/u01/app/oracle/oradata/ORCL/onlinelog/redo04_b.log‘ to group 4;
2.查看当前日志组成员
SQL> select member from v$logfile;
3.查看当前日志组状态
SQL> select group#,members,bytes/1024/1024,status from v$log;
参考:
http://www.linuxidc.com/Linux/2014-09/106796.htm
http://biancheng.dnbcw.info/oracle/335747.html
本文出自 “4699096” 博客,请务必保留此出处http://4709096.blog.51cto.com/4699096/1741983
标签:oracle redo日志组 redo日志组成员 redo 重做日志
原文地址:http://4709096.blog.51cto.com/4699096/1741983