Oracle/Backup & Recovery2009. 12. 14. 17:16
● Backup 의 분류
  ◎ logical backup
      : export, datapump

  ◎ physical backup
      : os명령, RMAN + OSB(Oracle Secure Backup, 10g R2 new feature)
      - 컨트롤 파일을 읽고 -> 백업을 함
         - > datafile과 백업을 마치고 각 파일의 위치와 정보를 control파일에 기록

아래는 RMAN사용법(신뢰성있는 백업이 가능하게 함)

-- 백업
OS] rman target /
RMAN> backup database;                       --> datafile + controlfile 백업
RMAN> backup tablespace users;            --> datafile 백업
RMAN> backup archivelog all;                  --> archived log file 백업
               
-- 복원 & 복구
RMAN> restore tablespace users;
RMAN> recovery tablespace users;

-- 백업 리스트
RMAN> list backup;
RMAN> delete backipset 1

OSB를 이용하면 오라클 관련 파일뿐 아니라 그 외의 파일들도 백업이 가능하게 됨.

● 용어정리
  ◎ full backup      : 데이터가 들어있는 블럭만 백업    { <-> incremental backup }
  ◎ whole backup : 전체백업                                  { <-> partitial backup }
  ◎ offline backup : 정상 shutdown 후 백업. 모든 동기화 정보가 맞음.

SQL> shutdown immediate
SQL> !mkdir /u01/app/oracle/oradata/ikdb_backup
SQL> !cp /u01/app/oracle/oradata/ikdb/* /u01/app/oracle/oradata/ikdb_backup
RMAN> startup mount;
RMAN> backup database;

  ◎ online backup : shutdown하지 않고 백업. 유저들이 좋아할만한 백업.

SQL> startup open
SQL> alter tablespace system begin backup;
SQL> !cp /u01/app/oracle/oradata/ikdb/system01.dbf /u01/app/oracle/oradata/ikdb_backup
SQL> alter tablespace system end backup;
RMAN> startup open;
RMAN> backup database;


RMAN> show all;

RMAN> backup as copy                          database;
RMAN> backup as backupset                   database;        -- HWM까지의 데이터만 백업
RMAN> backup as compressed backupset database;       -- HWM까지의 데이터만 압축해서 백업


● recovery
   ◎ open이 되려면 최소한 갖춰야 하는 요건
      - 모든 control file이 정상이어야 한다.
      - 모든 online datafile이 정상이어야 한다.
      - 리두 로그 파일은 최소한 멤버 1개는 정상이어야 한다.

● flashback
    - backup & recovery에 비해서 빠르다.
    - 변경된 데이터만 복구
    - 유저의 실수에 대해서만 복구가 가능.
   ◎ 종류
       1. flashback database
           - backward, forward 둘다 가능
           - 유저들이 여기저기에 많은 문제를 발생시켰을 때 사용.
           - 언두가 내려쓰는 특정 시점으로 되돌린다음 세세한 내용은 리두로 되돌림
           - 리두는 작업하나하나가 내려써짐
           - 언두는 특정기간(15분 등) 마다 한번씩 내려써짐
           - 평상시에 플래쉬백 로그가 남도록 설정해야 함.
           - mount상태에서 가능함.

       2. flashback table
           - 특정한 시점으로 테이블을 복구한다.
           - 추가적인 공간이 필요없다.
           - 언두 테이블 스페이스에서 데이터를 가져온다.
           - 시스템 테이블에 대해서는 불가능

       3. flashback versions query
           - row level의 플래쉬백

       4. flashback transaction query
           - row level의 플래쉬백


※ os 명령을 이용한 backup은 신뢰할만한 backup이 아님 -> RMAN을 이용할 것.


'Oracle > Backup & Recovery' 카테고리의 다른 글

MTBF(Mean Time Between Failures)  (0) 2009.12.21
User Managed Recovery  (0) 2009.12.18
User Managed Backup  (0) 2009.12.18
flashback database를 가능하게 하는 설정  (0) 2009.12.17
RMAN의 구성요소 및 구성실습  (1) 2009.12.16
Posted by 자수성가한 부자