1. 사전 준비

Oracle 데이터베이스에서 덤프 파일을 특정 스키마에 로드하려면 다음이 필요합니다.

  • Oracle 데이터베이스가 설치 및 실행 중이어야 합니다.
  • impdp 또는 imp 명령어를 실행할 수 있어야 합니다.
  • 대상 스키마(사용자)가 존재해야 합니다.
  • 덤프 파일이 접근 가능한 경로에 존재해야 합니다.

2. 데이터 펌프 임포트(Data Pump Import, impdp)

Oracle Data Pump를 사용하여 특정 스키마에 덤프 파일을 임포트하는 방법을 설명합니다.

2.1 대상 스키마 생성

임포트할 대상 스키마가 존재하지 않는다면 먼저 생성합니다.

CREATE USER target_schema IDENTIFIED BY password;
GRANT CONNECT, RESOURCE TO target_schema;
GRANT DBA TO target_schema; -- 필요시 추가

2.2 데이터 펌프 임포트 실행

다음 명령을 사용하여 특정 스키마로 데이터를 임포트할 수 있습니다.

impdp system/password@DB_SERVICE \
    DIRECTORY=DATA_PUMP_DIR \
    DUMPFILE=exported.dmp \
    REMAP_SCHEMA=source_schema:target_schema \
    LOGFILE=import.log

옵션 설명

  • system/password@DB_SERVICE : 관리자 계정과 접속할 데이터베이스 정보
  • DIRECTORY=DATA_PUMP_DIR : 덤프 파일이 저장된 Oracle 디렉토리 객체
  • DUMPFILE=exported.dmp : 임포트할 덤프 파일
  • REMAP_SCHEMA=source_schema:target_schema : 원본 스키마를 대상 스키마로 변경하여 임포트
  • LOGFILE=import.log : 임포트 로그 파일 생성

TIP: Oracle에서 DATA_PUMP_DIR을 확인하거나 생성하려면 다음 SQL을 실행합니다.

SELECT directory_name, directory_path FROM dba_directories WHERE directory_name = 'DATA_PUMP_DIR';

필요한 경우 다음과 같이 새로운 디렉토리를 생성할 수 있습니다.

CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/path/to/dump';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO target_schema;

3. 기존 imp 명령어를 이용한 임포트

만약 구버전의 imp 명령어를 사용해야 한다면 다음과 같이 실행할 수 있습니다.

imp system/password@DB_SERVICE FILE=exported.dmp FROMUSER=source_schema TOUSER=target_schema LOG=import.log

이 명령어는 Data Pump를 사용하지 않는 기존 Import 방식이며, REMAP_SCHEMA 대신 FROMUSERTOUSER 옵션을 사용합니다.

4. 임포트 후 데이터 확인

임포트가 완료된 후, 대상 스키마에 정상적으로 데이터가 들어갔는지 확인합니다.

SELECT table_name FROM user_tables;
SELECT COUNT(*) FROM target_schema.some_table;

+ Recent posts