Oracle中修改redo log size的原因和方法

WBOY
풀어 주다: 2016-06-07 17:17:53
원래의
1058명이 탐색했습니다.

redo log 一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能. 如果AWR report中log file switch (checkpoint incomplete)

redo log 一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能. 如果AWR report中log file switch (checkpoint incomplete) 比较大, 说明redo log之间的切换过于频繁. 可以通过增加redo log size来降低切换的频率. 但如果redo log size 过大, 可能带来数据库恢复时丢失数据的风险. 所以要折中选择redo log size, 默认是50M.

修改redo log size的方法.
假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB 

查看当前日志文件组的状态
select group#,status from v$log;

1、创建2个新的日志组
alter database add logfile group 4 ('D:\Oracle\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;

2、切换当前日志到新的日志组
alter system switch logfile;
alter system switch logfile;

3、删除旧的日志组
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

4、操作系统下删除原日志组1、2、3中的文件

5、重建日志组1、2、3
alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;
alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;
alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;

6、切换日志组
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;

7、删除中间过渡用的日志组4、5
alter database drop logfile group 4;
alter database drop logfile group 5;

8、到操作系统下删除原日志组4、5中的文件

9、备份当前的最新的控制文件
SQL> alter database backup controlfile to trace resetlogs

如果在RAC中出现
SQL> alter database mount;
ERROR at line 1:
ORA-01618: redo thread 3 is not enabled - cannot mount
则说明thread 3 的redo log没有启用 可以通过下面的方式启用
alter database enable thread 3;

通过alter system archive log current;的方式切换

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿