DBMS/개념

32_ Oracle 백업과 복구의 이해

seungwon-1 2025. 11. 12. 10:10

1. Oracle 백업의 종류

백업은 크게 물리적 백업과 논리적 백업으로 나뉜다.

(1) 물리적 백업 (Physical Backup)

데이터 파일, 제어 파일, 온라인 리두 로그 파일 등을 그대로 복사하는 방식이다.

  • Hot Backup (온라인 백업): 데이터베이스가 실행 중일 때 수행되며, ARCHIVE LOG 모드여야 가능하다.
  • Cold Backup (오프라인 백업): 데이터베이스를 완전히 종료한 후 수행한다.

(2) 논리적 백업 (Logical Backup)

데이터 내용을 논리적으로 내보내는 방식이다.

  • Data Pump Export/Import: 대용량 데이터 처리와 병렬 처리가 가능하다.
  • Original Export/Import: 이전 버전 호환을 위한 전통적인 방식으로, 현재는 레거시 지원용이다.

 

2. Oracle 복구 방식

복구는 손상된 데이터베이스를 정상 상태로 되돌리는 작업이다.

  • 완전 복구 (Complete Recovery): 모든 커밋된 트랜잭션을 복구한다. 아카이브 로그와 온라인 리두 로그를 이용한다.
  • 불완전 복구 (Incomplete Recovery): 특정 시점까지만 복구한다.
    • 시점(Point-in-Time) 기준 복구
    • SCN(System Change Number) 기준 복구
    • 로그 시퀀스 기준 복구

 

3. RMAN (Recovery Manager)

RMAN은 Oracle의 기본 백업 및 복구 도구로, 별도 설치가 필요 없다. 자동화된 백업 관리와 복구 기능을 제공한다.

(1) RMAN 기본 구성 예시

-- RMAN 접속
RMAN TARGET /

-- 카탈로그 데이터베이스 사용 시
RMAN TARGET / CATALOG rman/rman@catdb

-- 백업 정책 설정
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;

(2) 주요 백업 명령어

-- 전체 데이터베이스 백업
BACKUP DATABASE PLUS ARCHIVELOG;

-- 증분 백업
BACKUP INCREMENTAL LEVEL 0 DATABASE;
BACKUP INCREMENTAL LEVEL 1 DATABASE;

-- 테이블스페이스 백업
BACKUP TABLESPACE users, system;

-- 제어 파일 백업
BACKUP CURRENT CONTROLFILE;

 

(3) 주요 복구 명령어

-- 전체 데이터베이스 복구
STARTUP MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;

-- 특정 테이블스페이스 복구
RESTORE TABLESPACE users;
RECOVER TABLESPACE users;

-- 특정 시점 복구
RUN {
  SET UNTIL TIME "2025-03-07:12:00:00";
  RESTORE DATABASE;
  RECOVER DATABASE;
}

 

4. Data Pump

Data Pump는 Oracle의 고성능 데이터 이동 도구로, exp/imp를 대체하는 방식이다.

(1) Data Pump Export (expdp)

-- 전체 데이터베이스 Export
expdp system/password FULL=y DIRECTORY=data_pump_dir DUMPFILE=full_db.dmp

-- 스키마 Export
expdp system/password SCHEMAS=scott DIRECTORY=data_pump_dir DUMPFILE=scott.dmp

-- 테이블 Export
expdp system/password TABLES=emp,dept DIRECTORY=data_pump_dir DUMPFILE=tables.dmp

(2) Data Pump Import (impdp)

-- 전체 데이터베이스 Import
impdp system/password FULL=y DIRECTORY=data_pump_dir DUMPFILE=full_db.dmp

-- 스키마 Import
impdp system/password SCHEMAS=scott DIRECTORY=data_pump_dir DUMPFILE=scott.dmp

-- 테이블 Import
impdp system/password TABLES=emp,dept DIRECTORY=data_pump_dir DUMPFILE=tables.dmp

 

5. 백업 및 복구 전략 수립

실무에서는 단순히 백업만 수행하는 것이 아니라 ‘복구 가능한 시스템’을 설계하는 것이 중요하다.

  • 백업 계획
    • 업무 중요도에 따라 백업 주기 결정
    • 전체/증분/아카이브 로그 방식 선택
    • 백업 파일 보관 기간 설정
  • 복구 전략
    • RTO (Recovery Time Objective): 서비스 복구까지 허용 가능한 최대 시간
    • RPO (Recovery Point Objective): 데이터 손실 허용 가능한 최대 시점
    • 복구 절차 문서화: 장애 유형별 복구 절차와 담당자 정보 포함

 

 

'DBMS > 개념' 카테고리의 다른 글

34_ DB 문제 풀이  (0) 2025.11.17
33_ DBeaver 단축키 정리  (0) 2025.11.14
31_ 데이터베이스 성능 튜닝 정리  (0) 2025.11.10
30_ 저장 프로시저(Stored Procedure)  (0) 2025.11.07
29_ Oracle DBMS: 제어문의 이해와 활용  (0) 2025.11.05