[ Programing ]/Database
[Oracle 9i] Fundamentals 2 - Practice 10
Mister_Q
2010. 4. 22. 22:17
Practice 10 : User-Managed Backups
1. Whole Offine DB Backup에 대하여 Backup 할 Database file들을 조회해 봅니다.
# sqlplus "/as sysdba"
SQL> select name from v$controlfile;
SQL> select member from v$logfile;
SQL> select name from v$datafile;
2. DB를 정상적으로 종료하고 $HOME/BACKUP/DONTOUCH directory에 O/S 명령어를 사용하여 Whole Offine DB backup을 수행합니다.
SQL> shutdown immediate;
SQL> exit
# cp -rp /opt/oracle/PROD/* $HOME/BACKUP/DONTOUCH/.
# cp -rp $ORACLE_HOME/dbs/orapwPROD.ora $HOME/BACKUP/CONTOUCH/.
# cp -rp $ORACLE_HOME/dbs/initPROD.ora $HOME/BACKUP/CONTOUCH/.
Note : DONTOUCH directory에는 다른 file을 복사해 둔다거나 이곳의 file을 삭제하지 마세요!!!
3. DB를 다시 가동하고 USERS Tablespace의 Online Backup을 실행합니다. (백업 경로 : $HOME/BACKUP/UMAN)
# sqlplus "/as sysdba"
SQL> startup
SQL> ALTER TABLESPACE USERS BEGIN BACKUP;
SQL> !cp /opt/oracle/PROD/u02/user01.dbf $HOME/BACKUP/UMAN/user01.dbf
SQL> ALTER TABLESPACE USERS END BACKUP;
4. Control file backup trace를 생성해 봅니다. 현재 세션에서 생성된 trace file을 query를 실행하여 식별하고 $HOME/BACKUP/UMAN/cntrl.sql 이라는 이름으로 copy 후 적절히 편집합니다.
SQL> show parameter user_dump_dest -> 지정된 경로의 모든 파일을 삭제
SQL> connect system/manager
SQL> alter database backup controlfile to trace;
SQL> select s.username, p.spid
from v$session s, v$process p
where s.paddr = p.addr
and s.username = 'SYSTEM'; -> Process ID 조회
SQL> exit
# cd 명령으로 user_dump_dest로 이동
# cp PROD_ora_xxx.trc $HOME/BACKUP/UMAN/cntrl.sql
# vi HOME/BACKUP/UMAN/cntrl.sql -> comment line을 모두 지우고 저장합니다.
5. $HOME/BACKUP/UMAN/cntrl1.bkp라는 이름으로 control file binary copy backup을 수행합니다.
SQL> alter database backup controlfile to '$HOME/BACKUP/UMAN/cntrl1.bkp';
1. Whole Offine DB Backup에 대하여 Backup 할 Database file들을 조회해 봅니다.
# sqlplus "/as sysdba"
SQL> select name from v$controlfile;
SQL> select member from v$logfile;
SQL> select name from v$datafile;
2. DB를 정상적으로 종료하고 $HOME/BACKUP/DONTOUCH directory에 O/S 명령어를 사용하여 Whole Offine DB backup을 수행합니다.
SQL> shutdown immediate;
SQL> exit
# cp -rp /opt/oracle/PROD/* $HOME/BACKUP/DONTOUCH/.
# cp -rp $ORACLE_HOME/dbs/orapwPROD.ora $HOME/BACKUP/CONTOUCH/.
# cp -rp $ORACLE_HOME/dbs/initPROD.ora $HOME/BACKUP/CONTOUCH/.
Note : DONTOUCH directory에는 다른 file을 복사해 둔다거나 이곳의 file을 삭제하지 마세요!!!
3. DB를 다시 가동하고 USERS Tablespace의 Online Backup을 실행합니다. (백업 경로 : $HOME/BACKUP/UMAN)
# sqlplus "/as sysdba"
SQL> startup
SQL> ALTER TABLESPACE USERS BEGIN BACKUP;
SQL> !cp /opt/oracle/PROD/u02/user01.dbf $HOME/BACKUP/UMAN/user01.dbf
SQL> ALTER TABLESPACE USERS END BACKUP;
4. Control file backup trace를 생성해 봅니다. 현재 세션에서 생성된 trace file을 query를 실행하여 식별하고 $HOME/BACKUP/UMAN/cntrl.sql 이라는 이름으로 copy 후 적절히 편집합니다.
SQL> show parameter user_dump_dest -> 지정된 경로의 모든 파일을 삭제
SQL> connect system/manager
SQL> alter database backup controlfile to trace;
SQL> select s.username, p.spid
from v$session s, v$process p
where s.paddr = p.addr
and s.username = 'SYSTEM'; -> Process ID 조회
SQL> exit
# cd 명령으로 user_dump_dest로 이동
# cp PROD_ora_xxx.trc $HOME/BACKUP/UMAN/cntrl.sql
# vi HOME/BACKUP/UMAN/cntrl.sql -> comment line을 모두 지우고 저장합니다.
5. $HOME/BACKUP/UMAN/cntrl1.bkp라는 이름으로 control file binary copy backup을 수행합니다.
SQL> alter database backup controlfile to '$HOME/BACKUP/UMAN/cntrl1.bkp';