금융 사무라이 TOP10

오라클 백업시 문제점 해결방법 본문

전문지식(IT)

오라클 백업시 문제점 해결방법

금융사무라이 2025. 3. 24. 11:50
728x90
반응형

 

  • Database CharacterSet: KO16MSWIN949
  • NCHAR CharacterSet: AL16UTF16
  • OS: Windows Server 2019
  • Oracle Version: 12c

    - CMD를 관리자 계정으로 실행하세요.
    - 환경 설정값 
      set NLS_LANG=KOREAN_KOREA.KO16MSWIN949
    - EXP를 사용해서 백업하세요.
      Export FULL Database
      C:/> exp userid=system/password@orcl full=y file=C:\backup\full_backup.dmp log=C:\backup\full_backup.log
      Export Specific Schema
      C:/> exp userid=system/password@orcl owner=scott file=C:\backup\scott_backup.dmp log=C:\backup\scott_backup.log
      Export Specific Tables
      C:/> exp userid=system/password@orcl tables=emp,dept file=C:\backup\table_backup.dmp log=C:\backup\table_backup.log
      
     실행시 이렇게 오류가 난 경우

       ==>  exp는 더이상 사용되지 않으므로 expdp를 사용하세요.

>> EXP (Export)와 EXPDP (Data Pump Export)의 차이점
1️⃣ 주요 차이점 비교

특징 EXP (Export) EXPDP (Data Pump Export)
도입 버전 Oracle 7 Oracle 10g (이후 추천)
실행 방식 클라이언트 기반 서버 기반 (빠름)
속도 느림 (데이터를 클라이언트로 전송) 빠름 (서버에서 직접 작업)
병렬 처리 ❌ 불가능 ✅ 가능 (PARALLEL 옵션)
네트워크 전송 가능 (DIRECT=Y 사용) ✅ NETWORK_LINK 기능 지원
대상 파일 지정 직접 경로 지정 가능 ❌ 반드시 DIRECTORY 객체 사용
재시작 가능 여부 ❌ 불가능 (실패 시 처음부터 다시) ✅ 가능 (RESTARTABLE=YES)
압축 지원 ❌ 없음 ✅ 있음 (COMPRESSION=ALL)
테이블스페이스 이동 ❌ 불가능 ✅ 가능 (TRANSPORT_TABLESPACE)
지원 여부 🚨 Oracle 11g 이후 비추천 ✅ Oracle 공식 추천

2️⃣ 주요 차이점 설명

✅ 1. 실행 방식 (클라이언트 vs 서버)

  • EXP는 클라이언트에서 데이터를 처리 → 속도가 느림.
  • EXPDP는 서버 내부에서 직접 실행 → 네트워크 전송이 없고 속도가 빠름.

✅ 2. 속도 차이 (병렬 처리 지원)

  • EXP는 단일 프로세스로 실행 → 대량 데이터 처리 시 속도가 느림.
  • EXPDP는 병렬 처리 (PARALLEL 옵션) 가능 → 빠른 백업 가능.(%U는 파일 자동 분할)
    expdp system/password@orcl full=y parallel=4 dumpfile=backup_%U.dmp logfile=backup.log directory=DATA_PUMP_DIR

✅ 3. 재시작 가능 (EXPDP만 가능)

  • EXP는 중간에 실패하면 처음부터 다시 시작해야 함.
  • EXPDP는 RESTARTABLE=YES 옵션으로 중단된 위치부터 재시작 가능.

✅ 4. 테이블스페이스 단위 백업 지원

  • EXP는 특정 테이블만 백업 가능.
  • EXPDP는 테이블스페이스 전체를 쉽게 백업 가능.
    expdp system/password@orcl transport_tablespaces=users dumpfile=users_backup.dmp directory=DATA_PUMP_DIR

3️⃣ 언제 EXPDP를 사용해야 할까?

대량 데이터 백업 → EXPDP 사용 추천 (속도가 훨씬 빠름)
재시작이 필요한 경우 → EXPDP만 가능
병렬 처리하여 빠른 백업 필요 → EXPDP 사용
압축 백업 필요 → EXPDP (COMPRESSION=ALL 옵션)


4️⃣ 결론 (EXP vs EXPDP)

상황추천 도구
소규모 데이터, 옛날 시스템 EXP (비추천)
대규모 백업, 빠른 처리 필요 ✅ EXPDP (추천)
병렬 처리로 속도 개선 필요 ✅ EXPDP
테이블스페이스 전체 이동 ✅ EXPDP

📌 정리:
✅ EXPDP는 EXP보다 빠르고 강력하며 최신 기능 지원.
✅ EXP는 Oracle 11g 이후 비추천, 가능하면 EXPDP 사용!



>> EXP (Export)와 EXPDP (Data Pump Export)의 복원방법

📌 EXP → IMP (기존 Export/Import)

✅ EXP로 백업한 데이터는 반드시 IMP로 복구해야 함.

exp system/password@orcl full=y file=exp_backup.dmp log=exp_backup.log imp system/password@orcl full=y file=exp_backup.dmp log=imp_restore.log

📌 EXPDP → IMPDP (Data Pump Export/Import)

✅ EXPDP로 백업한 데이터는 반드시 IMPDP로 복구해야 함.

expdp system/password@orcl full=y dumpfile=expdp_backup.dmp logfile=expdp_backup.log directory=DATA_PUMP_DIR impdp system/password@orcl full=y dumpfile=expdp_backup.dmp logfile=impdp_restore.log directory=DATA_PUMP_DIR

🚨 EXP한 것을 IMPDP로 복구하는 방법은?

가능한 방법:

  1. EXP → IMP로 임시 복구
  2. IMP로 복구한 데이터베이스에서 EXPDP로 다시 백업
  3. 이후, IMPDP로 복구 가능

📌 즉, 기존 EXP/IMP 방식과 EXPDP/IMPDP 방식은 서로 호환되지 않음.

🚀 결론

  • EXP → IMP ✅ 가능
  • EXPDP → IMPDP ✅ 가능
  • EXP → IMPDP ❌ 불가능
  • EXPDP → IMP ❌ 불가능

 

>> EXPDP의 DUMPFILE 경로지정 방법

📌 해결 방법: DIRECTORY 객체를 생성하여 원하는 경로 사용하기

1️⃣ Data Pump 경로 확인 (기존 DIRECTORY 사용 가능 여부 체크)

SQL문 :  SELECT directory_name, directory_path FROM dba_directories;

출력 결과에 원하는 경로가 없다면 새로운 DIRECTORY 객체를 생성해야 합니다.


2️⃣ 새로운 DIRECTORY 객체 생성

SQL*Plus 또는 SQL Developer에서 SYSDBA 계정으로 실행:

SQL문 : CREATE OR REPLACE DIRECTORY my_backup_dir AS 'C:\backup'; GRANT READ, WRITE ON DIRECTORY my_backup_dir TO system;
  • C:\backup 경로를 원하는 디렉토리로 변경 가능
  • SYSTEM 계정에 읽기/쓰기 권한 부여

3️⃣ EXPDP 실행 (DUMPFILE 경로 지정)

이제 DUMPFILE을 생성한 DIRECTORY에 맞춰 실행:

expdp system/password@orcl full=y dumpfile=my_backup.dmp logfile=my_backup.log directory=my_backup_dir reuse_dumpfiles=yes
  • 백업 파일: C:\backup\my_backup.dmp
  • 로그 파일: C:\backup\my_backup.log

🔹 요약

✅ DUMPFILE에 직접 경로 지정 ❌
✅ DIRECTORY 객체 생성 후 해당 디렉토리에 저장 ⭕

 

728x90
반응형
Comments