백업 수행
  백업 전에 데이터베이스 파일 목록 보기
  전체 오프라인 백업 수행
  부분 백업 수행
  제어 파일 백업 수행

백업 전에 데이터베이스 파일 목록 보기
 백업 전에 백업할 화일들을 확인함.
 오라클 데이터베이스를 구성하는 화일
·Datafile : 사용자나 시스템 정보를 저장하는 화일
·Redo log file : 정보에 대한 변경 history를 저장하는 화일<
·Control file : 데이타베이스 화일목록 및 운영정보를 저장하는 화일
·Parameter file : 데이타베이스 운영변수 값들을 저장하는 화일
 구성 화일의 확인

Datafile 확인
·% svrmgrl

          Oracle Server Manager Release 2.3.3.0.0 - Production

          Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

          Oracle7 Server Release 7.3.3.0.0 - Production Release
          With the distributed option
          PL/SQL Release 2.3.3.0.0 - Production

          SVRMGR> CONNECT INTERNAL
          Connected.
          SVRMGR>select file_name from dba_data_files;
          FILE_NAME
          --------------------------------------------------------------------------------
          /oracle7/oradata/DLDB/system01.dbf
          /oracle7/oradata4/DLDB/ows_proc00.dbf
          /oracle7/oradata/DLDB/rbs01.dbf
          /oracle7/oradata/DLDB/temp01.dbf
          /oracle7/oradata/DLDB/tools01.dbf
          14 rows selected.
          SVRMGR>

Redo log file 확인
          SVRMGR> SELECT member FROM v$logfile;
          MEMBER
          --------------------------------------------------------------------------------
          /oracle7/oradata1/DLDB/redoDLDB01.log
          /oracle7/oradata2/DLDB/redoDLDB02.log
          /oracle7/oradata3/DLDB/redoDLDB03.log
          3 rows selected.
          SVRMGR>

Control file 확인
·SVRMGR> SHOW PARAMETER control_files;

          NAME TYPE VALUE
          ----------------------------------- ------------- ----------------------------------------------------
          control_files string /oracle7/oradata1/DLDB/control
·SVRMGR> select value from v$parameter where name='control_files';
          VALUE
          --------------------------------------------------------------------------------------------------------------------------
          /oracle7/oradata1/DLDB/control01.ctl, /oracle7/oradata2/DLDB/control02.ctl, /ora
          1 row selected.

전체 오프라인 백업 수행
 정상적인 상태에서 시스템 전체적으로 데이터베이스를 종료(shutdown normal)한 후에 데이터베이스를 구성하는 모든 파일에 대해 전체 오프라인 백업을 수행
 데이터베이스가 열려 있는 동안 또는 인스턴스 실패나 종료 중지 후에 수행된 전체 백업은 유용하지 않음.(DB가 open된 상태, shutdown abort된 경우)
 전체 오프라인 백업으로 얻는 백업 파일 집합은 일관성이 있고, 모든 파일은 시간상 동일한 시점에 해당함.
 
전체 백업을 수행
·① 데이터베이스를 정상적(Normal)으로 또는 즉시(Immediate) 종료함.(shutdown)
SVRMGR> shutdown normal (또는 SVRMGR> shutdown immediate)
Database closed.
Database dismounted.
ORACLE instance shut down.
· 고장으로 인스턴스가 중지되거나 정지된경우에는 전체 백업을 수행하지 말 것
· 전체백업을 수행하기전에 데이터베이스를 다시 열어 명확하게 종료해야함.

·② 데이터베이스를 구성하는 모든 파일(Data files, on-line redo log files, control files, initORACLE_SID.ora)을 백업

SVRMGR> host
% tar -cvf /dev/rmt/0hc /oracle7/oradata/DLDB/*.dbf
% tar -rvf /dev/rmt/0hc /oracle7/oradata/DLDB/*.log
% tar -cvf /dev/rmt/0hc /oracle7/oradata/DLDB/*.ctl
% exit

·③ 데이터베이스를 재시작.

SVRMGR> startup
ORACLE instance started.
Total System Global Area 69449688 bytes
Fixed Size 39808 bytes
Variable Size 34184280 bytes
Database Buffers 31948800 bytes
Redo Buffers 3276800 bytes
Database mounted.
Database opened.

 

부분 백업 수행
  온라인 테이블스페이스와 데이터 파일 백업
  오프라인 테이블 스페이스와 데이터 파일 백업

 부분백업은 데이터베이스가 ARCHIVELOG 모드에서 작동되는 경우에만 수행되어야 함.
 부분 백업은 NOARCHIVELOG 모드에서 작동되는 데이터베이스 복원에 사용할 수 없음.

1. 온라인 테이블 스페이스와 데이터 파일 백업

 전체 테이블스페이스나 특정 데이터 파일의 온라인 백업 수행
·개별 온라인 테이블 스페이스의 모든 데이터파일이나 온라인 테이블스페이스의 특정 데이터 파일은 현재 테이블스페이스와 데이터 파일이 온라인 상태이고 정상적인 데이터베이스 작업을 위해 사용중인 동안 백업가능.
·① 데이터 파일을 확인 : 특정 데이터 파일을 백업할 때는 그 데이터 파일의 전체경로를 나타내는 정확한 이름을 지정해야 함.

SVRMGR> select tablespace_name,file_name from dba_data_files
               2> where tablespace_name = 'USERS';
         TABLESPACE_NAME FILE_NAME
         ------------------------------ --------------------------------------------------------------------------------
         USERS /oracle7_data/users/users0.dbf
              1 row selected.

·FILE_NAME의 경로명을 정확히 지정해야 함.

·② 온라인 테이블스페이스 백업 시작을 표시함.

Server Manager의 [Start Online Backup]메뉴 항목이나 SQL명령어 ALTER TABLESPACE에 BEGIN BACKUP옵션을 사용하여 온라인 테이블스페이스의 데이터파일 백업을 준비
SVRMGR> ALTER TABLESPACE USERS BEGIN BACKUP;
Statement processed.

·③ 온라인 데이터 파일을 백업

SVRMGR> !tar -cvf /dev/rmt/0hc /oracle7_data/users/users0.dbf

·④ 온라인 테이블스페이스 백업의 끝을 표시함.

Server Manager의 [End Online Tablespace Backup]메뉴 항목이나 SQL명령어 ALTER TABLESPACE에 END BACKUP옵션을 사용하여 온라인 백업의 끝을 표시함.
SVRMGR> ALTER TABLESPACE USERS END BACKUP;
Statement processed.

· 온라인 테이블스페이스 백업 끝을 표시하는 것을 잊었거나 인스턴스 실패, SHUTDOWN ABORT가 발생했다면 인스턴스를 재시작할 때 아카이브된 리두 로그를 필요로 하는 매체 복구가 필요함.

데이터 파일 백업 상태 결정
·V$BACKUP 데이터 딕셔너리 테이블을 사용하여 데이터 파일의 백업 상태를 볼 수 있음.
·이 테이블은 온라인 파일을 나열하며 각 파일들의 백업 상태도 볼 수 있음.
·SVRMGR> select * from v$backup;

FILE# STATUS CHANGE# TIME
------- ------------------ ------------------------- -----------------------------------
1 NOT ACTIVE 0 01/01/88 00:00:00
2 NOT ACTIVE 0 01/01/88 00:00:00
3 NOT ACTIVE 0 01/01/88 00:00:00
4 NOT ACTIVE 0 01/01/88 00:00:00
5 NOT ACTIVE 0 01/01/88 00:00:00
6 NOT ACTIVE 0 01/01/88 00:00:00
7 NOT ACTIVE 0 01/01/88 00:00:00
8 NOT ACTIVE 0 01/01/88 00:00:00
9 NOT ACTIVE 0 01/01/88 00:00:00
10 NOT ACTIVE 0 01/01/88 00:00:00
11 NOT ACTIVE 0 01/01/88 00:00:00
12 NOT ACTIVE 0 01/01/88 00:00:00
13 NOT ACTIVE 0 01/01/88 00:00:00
16 NOT ACTIVE 0 01/01/88 00:00:00
14 rows selected.

·STATUS열의 "INACTIVE"는 파일이 현재 백업되고 있지 않음을 나타냄.
·"ACTIVE"는 파일이 현재 백업되고 있음을 표시

여러 개의 온라인 테이블스페이스 백업
·아래 프로시져 중 하나를 사용.
·① 온라인 테이블스페이스를 병렬로 백업
·i) 온라인 테이블스페이스 백업 시작을 표시

SVRMGR> ALTER TABLESPACE USERS BEGIN BACKUP;
SVRMGR> ALTER TABLESPACE DBUSERS BEGIN BACKUP;
SVRMGR> ALTER TABLESPACE HANJUNG BEGIN BACKUP;
·ii) 온라인 테이블스페이스의 모든 데이타 파일을 백업
SVRMGR> !tar -cvf /dev/rmt/0hc /oracle7_data/users/users0.dbf
SVRMGR> !tar -rvf /dev/rmt/0hc /oracle7_data/users/dbusers0.dbf
SVRMGR> !tar -rvf /dev/rmt/0hc /oracle7_data/project/hanjung/hanjung0.dbf

·iii) 온라인 테이블스페이스 백업의 끝을 표시
SVRMGR> ALTER TABLESPACE USERS BEGIN BACKUP;
SVRMGR> ALTER TABLESPACE DBUSERS BEGIN BACKUP;
SVRMGR> ALTER TABLESPACE HANJUNG BEGIN BACKUP;

·② 온라인 테이블스페이스를 직렬로 백업

SVRMGR> ALTER TABLESPACE USERS BEGIN BACKUP;
SVRMGR> !tar -cvf /dev/rmt/0hc /oracle7_data/users/users0.dbf
SVRMGR> ALTER TABLESPACE USERS BEGIN BACKUP;

SVRMGR> ALTER TABLESPACE DBUSERS BEGIN BACKUP;
SVRMGR> !tar -rvf /dev/rmt/0hc /oracle7_data/users/dbusers0.dbf
SVRMGR> ALTER TABLESPACE DBUSERS BEGIN BACKUP;

SVRMGR> ALTER TABLESPACE HANJUNG BEGIN BACKUP;
SVRMGR> !tar -rvf /dev/rmt/0hc /oracle7_data/project/hanjung/hanjung0.dbf
SVRMGR> ALTER TABLESPACE HANJUNG BEGIN BACKUP;

·두 번째 옵션은 ALTER TABLESPACE ... BEGIN/END BACKUP 명령어 사이의 시간을 최소화하므로 두번째 옵션의 사용을 권함.
·온라인 백업이 수행되는 동안 리두 정보가 테이블스페이스에 대해 생성됨.

2. 오프라인 테이블스페이스와 데이터 파일 백업
·테이블스페이스가 오프라인 상태일 때 개별 테이블스페이스의 데이터 파일 전체나 일부가 백업될수 있음.
·주) 현재 사용 중인 롤백 세그먼트를 가지는 테이블스페이스나 SYSTEM 테이블스페이스를 오프라인으로 설정할 수 없음.
·테이블 스페이스를 오프라인 또는 온라인으로 설정하려면 MANAGE TABLESPACE 시스템 권한이 있어야 함.

 오프라인 테이블스페이스의 오프라인 데이터 파일을 백업
·① 오프라인 테이블스페이스의 데이터 파일 확인

SVRMGR> select tablespace_name, status from dba_tablespaces;
TABLESPACE_NAME
STATUS
------------------------------
---------
SYSTEM
ONLINE
USER_DATA
ONLINE
ROLLBACK_DATA
ONLINE
TEMPORARY_DATA
ONLINE
4 rows selected.

·② 정상적으로 테이블스페이스를 오프라인으로 설정.

SVRMGR> alter tablespace TEMPORARY_DATA OFFLINE NORMAL;
Statement processed.

SVRMGR> select tablespace_name, status from dba_tablespaces;
TABLESPACE_NAME
STATUS
------------------------------
---------
SYSTEM
ONLINE
USER_DATA
ONLINE
ROLLBACK_DATA
ONLINE
TEMPORARY_DATA
OFFLINE
4 rows selected.

·테이블스페이스를 정상적으로 오프라인으로 설정하면 테이블스페이스의 모든 데이터 파일이 닫힘.

·③ 오프라인 데이터 파일을 백업

SVRMGR> !COPY E:ORAWIN95DATABASETMP1ORCL.ORA E:ORAWIN95DATABASEARCH_BAC

·④ 테이블스페이스를 온라인으로 설정.

SVRMGR> alter tablespace TEMPORARY_DATA ONLINE;
Statement processed.

·일시적(TEMPORARY) 또는 즉각적인(IMMEDIATE) 상태에서 테이블스페이스를 오프라인으로 설정한 경우에는 테이블스페이스 복구가수행되지 않으면 테이블스페이스를 온라인으로 설정할 수 없음.

제어 파일 백업 수행
 ARCHIVELOG 모드에서 작동하는 데이터베이스에 구조적 변경이 수행되었으면 데이터베이스 제어파일을 백업함.
 제어 파일을 백업하려면 ALTER DATABASE 시스템 권한이 있어야 함.
·SVRMGR> ALTER DATABASE BACKUP CONTROLFILE TO 'control01.ctl' REUSE;
·REUE옵션은 새로운 제어 화일을 기존 제어 파일에 겹쳐 쓰도록 함.

 제어 파일을 추적 파일로 백업
· ALTER DATABASE BACKUP CONTROLFILE명령어의 TRACE옵션 사용
· 이는 제어파일에 대한 물리적인 백업을 만들기 보다는 sql 명령어를 데이터베이스의 추적 파일에 작성하도록 함.
·이는 현재 제어 파일에 준하여 데이터베이스를 시작하고, 제어 파일을 재생성하며 데이터베이스를 제대로 복구하여 연다.