본문 바로가기
database/oracle

🛠️ 25편. Oracle Data Pump 백업 및 복구

by 죄니안죄니 2025. 5. 7.

🛠️ 25편. Oracle Data Pump 백업 및 복구

Oracle Data Pump는 expdp, impdp 유틸리티를 통해 고속 데이터 백업 및 복구를 수행할 수 있는 도구입니다.
기존 EXP/IMP보다 빠르고 유연하며, 대용량 백업, 스키마 이관, 선택적 복구 등 실무에서 매우 자주 사용됩니다.
이번 글에서는 Data Pump의 기본 구조, 사용법, 실전 예제를 정리합니다.


📦 1. Data Pump 기본 개념

  • expdp: 백업 수행 (Export)
  • impdp: 백업 복구 (Import)
  • 파일은 OS 경로가 아닌 Oracle 디렉토리 객체를 통해 관리

📁 2. 디렉토리 객체 설정

백업 파일을 저장할 경로를 Oracle에서 사용할 수 있도록 디렉토리 객체를 생성해야 합니다.


-- ① 실제 OS 경로 만들기 (Linux 예)
mkdir -p /data/dpump

-- ② Oracle에서 디렉토리 객체 생성
CREATE OR REPLACE DIRECTORY dpdir AS '/data/dpump';
GRANT READ, WRITE ON DIRECTORY dpdir TO SCOTT;

📤 3. Export (백업) 예제

① 스키마 전체 백업


expdp scott/password DIRECTORY=dpdir DUMPFILE=scott_backup.dmp LOGFILE=export.log SCHEMAS=scott

② 특정 테이블만 백업


expdp scott/password TABLES=EMP,DEPT DIRECTORY=dpdir DUMPFILE=emp_dept.dmp LOGFILE=emp.log

③ 조건 지정 백업 (SAL이 3000 이상)


expdp scott/password TABLES=EMP QUERY="WHERE SAL >= 3000"
DIRECTORY=dpdir DUMPFILE=emp_cond.dmp LOGFILE=emp_cond.log

📥 4. Import (복구) 예제

① 동일한 스키마로 복구


impdp scott/password DIRECTORY=dpdir DUMPFILE=scott_backup.dmp LOGFILE=import.log

② 다른 사용자로 복구 (REMAP)


impdp scott/password DIRECTORY=dpdir DUMPFILE=scott_backup.dmp LOGFILE=import.log REMAP_SCHEMA=scott:hr

③ 테이블 이름 변경하여 복구


impdp scott/password TABLES=EMP REMAP_TABLE=EMP:EMP_BACKUP
DIRECTORY=dpdir DUMPFILE=emp_dept.dmp LOGFILE=imp_rename.log

⚙️ 5. 실무 팁

  • 덤프 파일은 바이너리 파일이며 직접 열 수 없음
  • Data Pump는 병렬 처리(Parallel) 옵션으로 성능 향상 가능
  • 운영 환경에서는 압축(COMPRESSION=ALL) 옵션 사용 추천
  • 임포트 시 기존 데이터가 덮어쓰이므로 주의 (TABLE_EXISTS_ACTION 옵션 확인)

🧠 옵션 정리 요약

옵션 설명
SCHEMAS 특정 스키마 전체 백업/복구
TABLES 특정 테이블만 백업/복구
QUERY 조건절 추가 (백업 시)
REMAP_SCHEMA 스키마 변경 복구
REMAP_TABLE 테이블 이름 변경 복구
COMPRESSION 백업 파일 압축

📝 마무리

이번 글에서는 Oracle의 고속 백업 및 복구 도구인 Data Pump(expdp/impdp)를 실무 예제 중심으로 살펴보았습니다.
다음 글에서는 사용자 권한과 역할(Role) 관리를 통해 보안과 권한 분리를 실현하는 방법을 정리하겠습니다.

댓글