아래와 같이 재구성하기!!!
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>
'Oracle 10g > 10g - 연습문제' 카테고리의 다른 글
Complete Recovery 연습 문제 (0) | 2010.03.09 |
---|---|
No Archive log mode Recovery 연습문제 (0) | 2010.03.09 |
종합 연습문제 (디스크 추가, Controlfile, Redo log file, Tablespace) (0) | 2010.02.28 |
종합 연습문제 (Controlfile, Redo log file, Tablespace) (0) | 2010.02.27 |
Controlfile, Redo log files 재구성 #2 (0) | 2010.02.25 |