posted by I유령I 2010. 2. 25. 11:04

아래와 같이 재구성하기!!!
/home/oracle/disk1/control01.ctl, redo01_a.log, redo02_a.log, redo03_a.log
/home/oracle/disk2/control02.ctl, redo01_b.log, redo02_b.log, redo03_b.log
/home/oracle/disk3/control03.ctl, redo01_c.log, redo02_c.log, redo03_c.log




SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> !vi $ORACLE_HOME/dbs/inittestdb.ora
*.control_files='/home/oracle/disk1/control01.ctl','/home/oracle/disk2/control02.ctl','/home/oracle/disk3/control03.ctl'

SQL> startup
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size              88082000 bytes
Database Buffers          192937984 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/disk1/control01.ctl
/home/oracle/disk2/control02.ctl
/home/oracle/disk3/control03.ctl

SQL> select a.group#, a.member, b.bytes/1024/1024 MB, b.archived, b.status
  2  from v$logfile a, v$log b
  3  where a.group# = b.group#
  4  order by 1, 2;

    GROUP# MEMBER                                                     MB ARC STATUS
---------- -------------------------------------------------- ---------- --- ----------------
         1 /home/oracle/disk4/redo01_a.log                            10 NO  CURRENT
         1 /home/oracle/disk5/redo01_b.log                            10 NO  CURRENT
         2 /home/oracle/disk4/redo02_a.log                            10 NO  INACTIVE
         2 /home/oracle/disk5/redo02_b.log                            10 NO  INACTIVE
         3 /home/oracle/disk4/redo03_a.log                            10 NO  INACTIVE
         3 /home/oracle/disk5/redo03_b.log                            10 NO  INACTIVE

6 rows selected.

SQL> alter database add logfile group 4 '/home/oracle/disk4/redo04.log' size 10m;

Database altered.

SQL> alter database add logfile group 5 '/home/oracle/disk5/redo05.log' size 10m;

Database altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;

System altered.

SQL> select a.group#, a.member, b.bytes/1024/1024 MB, b.archived, b.status
  2  from v$logfile a, v$log b
  3  where a.group# = b.group#
  4  order by 1, 2;

    GROUP# MEMBER                                                     MB ARC STATUS
---------- -------------------------------------------------- ---------- --- ----------------
         1 /home/oracle/disk4/redo01_a.log                            10 NO  INACTIVE
         1 /home/oracle/disk5/redo01_b.log                            10 NO  INACTIVE
         2 /home/oracle/disk4/redo02_a.log                            10 NO  INACTIVE
         2 /home/oracle/disk5/redo02_b.log                            10 NO  INACTIVE
         3 /home/oracle/disk4/redo03_a.log                            10 NO  INACTIVE
         3 /home/oracle/disk5/redo03_b.log                            10 NO  INACTIVE
         4 /home/oracle/disk4/redo04.log                              10 NO  CURRENT
         5 /home/oracle/disk5/redo05.log                              10 YES UNUSED

8 rows selected.

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database drop logfile group 3;

Database altered.

SQL> select a.group#, a.member, b.bytes/1024/1024 MB, b.archived, b.status
  2  from v$logfile a, v$log b
  3  where a.group# = b.group#
  4  order by 1, 2;

    GROUP# MEMBER                                                     MB ARC STATUS
---------- -------------------------------------------------- ---------- --- ----------------
         4 /home/oracle/disk4/redo04.log                              10 NO  CURRENT
         5 /home/oracle/disk5/redo05.log                              10 YES UNUSED

SQL> alter database add logfile group 1
  2  ('/home/oracle/disk1/redo01_a.log',
  3   '/home/oracle/disk2/redo01_b.log',
  4   '/home/oracle/disk3/redo01_c.log')
  5  size 10m;

Database altered.

SQL> alter database add logfile group 2
  2  ('/home/oracle/disk1/redo02_a.log',
  3   '/home/oracle/disk2/redo02_b.log',
  4   '/home/oracle/disk3/redo02_c.log')
  5  size 10m;

Database altered.

SQL> alter database add logfile group 3
  2  ('/home/oracle/disk1/redo03_a.log',
  3   '/home/oracle/disk2/redo03_b.log',
  4   '/home/oracle/disk3/redo03_c.log')
  5  size 10m;

Database altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;

System altered.

SQL> select a.group#, a.member, b.bytes/1024/1024 MB, b.archived, b.status
  2  from v$logfile a, v$log b
  3  where a.group# = b.group#
  4  order by 1, 2;

    GROUP# MEMBER                                                     MB ARC STATUS
---------- -------------------------------------------------- ---------- --- ----------------
         1 /home/oracle/disk1/redo01_a.log                            10 NO  CURRENT
         1 /home/oracle/disk2/redo01_b.log                            10 NO  CURRENT
         1 /home/oracle/disk3/redo01_c.log                            10 NO  CURRENT
         2 /home/oracle/disk1/redo02_a.log                            10 YES UNUSED
         2 /home/oracle/disk2/redo02_b.log                            10 YES UNUSED
         2 /home/oracle/disk3/redo02_c.log                            10 YES UNUSED
         3 /home/oracle/disk1/redo03_a.log                            10 YES UNUSED
         3 /home/oracle/disk2/redo03_b.log                            10 YES UNUSED
         3 /home/oracle/disk3/redo03_c.log                            10 YES UNUSED
         4 /home/oracle/disk4/redo04.log                              10 NO  INACTIVE
         5 /home/oracle/disk5/redo05.log                              10 YES UNUSED

11 rows selected.

SQL> alter database drop logfile group 4;

Database altered.

SQL> alter database drop logfile group 5;

Database altered.

SQL> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/disk1/control01.ctl
/home/oracle/disk2/control02.ctl
/home/oracle/disk3/control03.ctl

SQL> select a.group#, a.member, b.bytes/1024/1024 MB, b.archived, b.status
  2  from v$logfile a, v$log b
  3  where a.group# = b.group#
  4  order by 1, 2;

    GROUP# MEMBER                                                     MB ARC STATUS
---------- -------------------------------------------------- ---------- --- ----------------
         1 /home/oracle/disk1/redo01_a.log                            10 NO  CURRENT
         1 /home/oracle/disk2/redo01_b.log                            10 NO  CURRENT
         1 /home/oracle/disk3/redo01_c.log                            10 NO  CURRENT
         2 /home/oracle/disk1/redo02_a.log                            10 YES UNUSED
         2 /home/oracle/disk2/redo02_b.log                            10 YES UNUSED
         2 /home/oracle/disk3/redo02_c.log                            10 YES UNUSED
         3 /home/oracle/disk1/redo03_a.log                            10 YES UNUSED
         3 /home/oracle/disk2/redo03_b.log                            10 YES UNUSED
         3 /home/oracle/disk3/redo03_c.log                            10 YES UNUSED

9 rows selected.

SQL> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/disk1/control01.ctl
/home/oracle/disk2/control02.ctl
/home/oracle/disk3/control03.ctl

SQL>