[Installing Oracle DataBase Server 11.2.0.3 on Oracle Linux 6.3]: Multiplexing Redologs
$ mkdir -p /u02/oradata/${ORACLE_SID}/redologs
$ mkdir -p /u03/oradata/${ORACLE_SID}/redologs
$ sqlplus / as sysdba
Set of commands to make query results easier to display on screen.
SQL> set linesize 250;
SQL> set pagesize 0;
SQL> col GROUP# format 99;
SQL> col MEMBER format a40;
SQL> col STATUS format a10;
SQL> col MB format 999;
SQL> select a.group#, member, a.status, bytes/1024/1024 as "MB"
from v$log a, v$logfile b
where a.group# = b.group#
order by 1;
1 /u02/oradata/ora112/redo01.log INACTIVE 50
2 /u02/oradata/ora112/redo02.log INACTIVE 50
3 /u02/oradata/ora112/redo03.log CURRENT 50
Only inactive group files can be deleted. Groups can be switched, as shown below.
Delete files of groups in INACTIVE state
- Need to recreate group 1 and its files.
Delete files of group 1
SQL> alter database drop logfile group 1;
SQL> quit
$ rm /u02/oradata/ora112/redo01.log
$ sqlplus / as sysdba
Add a new group, list the files of the new group and define their size.
SQL> alter database add logfile group 1 ('/u02/oradata/ora112/redologs/redo01.log' , '/u03/oradata/ora112/redologs/redo01.log') size 100M;
- Need to recreate group 2 and its files.
Delete files of group 2
SQL> alter database drop logfile group 2;
SQL> quit
$ rm /u02/oradata/ora112/redo02.log
$ sqlplus / as sysdba
SQL> alter database add logfile group 2 ('/u02/oradata/ora112/redologs/redo02.log' , '/u03/oradata/ora112/redologs/redo02.log ') size 100M;
- Need to recreate group 3 and its files.
Since the group is active, you need to switch to the next file group, making group 2 INACTIVE.
To switch, execute the following commands:
SQL> alter system checkpoint;
SQL> alter system switch logfile;
Delete files of group 3
SQL> alter database drop logfile group 3;
SQL> quit
$ rm /u02/oradata/ora112/redo03.log
$ sqlplus / as sysdba
SQL> alter database add logfile group 3 ('/u02/oradata/ora112/redologs/redo03.log', '/u03/oradata/ora112/redologs/redo03.log ') size 100M;
SQL> set linesize 250;
SQL> set pagesize 0;
SQL> col GROUP# format 99;
SQL> col MEMBER format a40;
SQL> col STATUS format a10;
SQL> col MB format 999;
SQL> select a.group#, member, a.status, bytes/1024/1024 as "MB"
from v$log a, v$logfile b
where a.group# = b.group#
order by 1,2;
1 /u02/oradata/ora112/redologs/redo01.log CURRENT 100
1 /u03/oradata/ora112/redologs/redo01.log CURRENT 100
2 /u02/oradata/ora112/redologs/redo02.log UNUSED 100
2 /u03/oradata/ora112/redologs/redo02.log UNUSED 100
3 /u02/oradata/ora112/redologs/redo03.log UNUSED 100
3 /u03/oradata/ora112/redologs/redo03.log UNUSED 100
SQL> quit