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

아래와 같이 재구성하기!!!
SQL> !mkdir /home/oracle/disk1
SQL> !mkdir /home/oracle/disk2
SQL> !mkdir /home/oracle/disk3
SQL> !mkdir /home/oracle/disk4
SQL> !mkdir /home/oracle/disk5

/home/oracle/disk4/control01.ctl, redo01_a.log, redo02_a.log, redo03_a.log
/home/oracle/disk5/control02.ctl, redo01_b.log, redo02_b.log, redo03_b.log



[oracle@ghost]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 25 10:15:52 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

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> create pfile from spfile;

File created.

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

#pfile의 내용을 아래와 같이 수정한다.
SQL> !vi $ORACLE_HOME/dbs/inittestdb.ora
*.control_files='/home/oracle/disk4/control01.ctl','/home/oracle/disk5/control02.ctl'

#startup시 pfile이 적용되도록 spfile은 삭제 또는 파일명을 변경한다.
SQL> !mv $ORACLE_HOME/dbs/spfiletestdb.ora $RACLE_HOME/dbs/spfiletestdb.ora.old

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 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/redo01a.rdo                              5 NO  INACTIVE
         1 /home/oracle/disk2/redo01b.rdo                              5 NO  INACTIVE
         2 /home/oracle/disk1/redo02a.rdo                              5 NO  CURRENT
         2 /home/oracle/disk2/redo02b.rdo                              5 NO  CURRENT
         3 /home/oracle/disk1/redo03a.rdo                              5 YES UNUSED
         3 /home/oracle/disk2/redo03b.rdo                              5 YES UNUSED

6 rows selected.

SQL> col name for a50
SQL> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/disk4/control01.ctl
/home/oracle/disk5/control02.ctl

SQL> alter database add logfile group 4
  2  '/home/oracle/oradata/testdb/redo04.log' size 5m;

Database altered.

SQL> alter database add logfile group 5
  2  '/home/oracle/oradata/testdb/redo05.log' size 5m;

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
---------- -------------------------------------------------- ---------- --- ----------------
         1 /home/oracle/disk1/redo01a.rdo                              5 NO  INACTIVE
         1 /home/oracle/disk2/redo01b.rdo                              5 NO  INACTIVE
         2 /home/oracle/disk1/redo02a.rdo                              5 NO  CURRENT
         2 /home/oracle/disk2/redo02b.rdo                              5 NO  CURRENT
         3 /home/oracle/disk1/redo03a.rdo                              5 YES UNUSED
         3 /home/oracle/disk2/redo03b.rdo                              5 YES UNUSED
         4 /home/oracle/oradata/testdb/redo04.log                      5 YES UNUSED
         5 /home/oracle/oradata/testdb/redo05.log                      5 YES UNUSED

8 rows selected.

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/redo01a.rdo                              5 NO  INACTIVE
         1 /home/oracle/disk2/redo01b.rdo                              5 NO  INACTIVE
         2 /home/oracle/disk1/redo02a.rdo                              5 NO  INACTIVE
         2 /home/oracle/disk2/redo02b.rdo                              5 NO  INACTIVE
         3 /home/oracle/disk1/redo03a.rdo                              5 NO  CURRENT
         3 /home/oracle/disk2/redo03b.rdo                              5 NO  CURRENT
         4 /home/oracle/oradata/testdb/redo04.log                      5 YES UNUSED
         5 /home/oracle/oradata/testdb/redo05.log                      5 YES UNUSED

8 rows selected.

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/redo01a.rdo                              5 NO  INACTIVE
         1 /home/oracle/disk2/redo01b.rdo                              5 NO  INACTIVE
         2 /home/oracle/disk1/redo02a.rdo                              5 NO  INACTIVE
         2 /home/oracle/disk2/redo02b.rdo                              5 NO  INACTIVE
         3 /home/oracle/disk1/redo03a.rdo                              5 NO  INACTIVE
         3 /home/oracle/disk2/redo03b.rdo                              5 NO  INACTIVE
         4 /home/oracle/oradata/testdb/redo04.log                      5 NO  CURRENT
         5 /home/oracle/oradata/testdb/redo05.log                      5 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/oradata/testdb/redo04.log                      5 NO  CURRENT
         5 /home/oracle/oradata/testdb/redo05.log                      5 YES UNUSED

SQL> alter database add logfile group 1
  2  ('/home/oracle/disk4/redo01_a.log',
  3   '/home/oracle/disk5/redo01_b.log')
  4  size 10m;

Database altered.

SQL> alter database add logfile group 2
  2  ('/home/oracle/disk4/redo02_a.log',
  3   '/home/oracle/disk5/redo02_b.log')
  4  size 10m;

Database altered.

SQL> alter database add logfile group 3
  2  ('/home/oracle/disk4/redo03_a.log',
  3   '/home/oracle/disk5/redo03_b.log')
  4  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  CURRENT
         1 /home/oracle/disk5/redo01_b.log                            10 NO  CURRENT
         2 /home/oracle/disk4/redo02_a.log                            10 YES UNUSED
         2 /home/oracle/disk5/redo02_b.log                            10 YES UNUSED
         3 /home/oracle/disk4/redo03_a.log                            10 YES UNUSED
         3 /home/oracle/disk5/redo03_b.log                            10 YES UNUSED
         4 /home/oracle/oradata/testdb/redo04.log                      5 NO  INACTIVE
         5 /home/oracle/oradata/testdb/redo05.log                      5 YES UNUSED

8 rows selected.

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  CURRENT
         2 /home/oracle/disk5/redo02_b.log                            10 NO  CURRENT
         3 /home/oracle/disk4/redo03_a.log                            10 YES UNUSED
         3 /home/oracle/disk5/redo03_b.log                            10 YES UNUSED
         4 /home/oracle/oradata/testdb/redo04.log                      5 NO  INACTIVE
         5 /home/oracle/oradata/testdb/redo05.log                      5 YES UNUSED

8 rows selected.

SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;

System 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  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
         4 /home/oracle/oradata/testdb/redo04.log                      5 NO  INACTIVE
         5 /home/oracle/oradata/testdb/redo05.log                      5 NO  INACTIVE

8 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/disk4/control01.ctl
/home/oracle/disk5/control02.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> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/disk4/control01.ctl
/home/oracle/disk5/control02.ctl

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