假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB 。
1、创建2个新的日志组
alter database add logfile group 4 ('D:OracleORADATAORADBREDO04_1.LOG') size 1024k;
alter database add logfile group 5 ('D:ORACLEORADATAORADBREDO05_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:ORACLEORADATAORADBREDO01_1.LOG') size 10M;
alter database add logfile group 2 ('D:ORACLEORADATAORADBREDO02_1.LOG') size 10M;
alter database add logfile group 3 ('D:ORACLEORADATAORADBREDO03_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;
SQL> select * from v$log;
SQL> alter system switch logfile;
8、到操作系统下删除原日志组4、5中的文件
9、备份当前的最新的控制文件
SQL>; alter database backup controlfile to trace resetlogs
注意:如果为安全考虑每个group可以多加几个文件
10、向已有组添加重做日志
SQL>alter database add logfile member 'e:oracleproduct10.2.0redo03c.log' to group 3;
11、删除已有组的重做日志
SQL>alter database drop logfile member 'e:oracleproduct10.2.0redo03c.log';
注:本文从多个网页查询资料整改,经正式生产环境操作。