Oracle/Migration

DataPump (impdp) 옵션 정리

beom92 2023. 5. 19.

기본 템플릿 : impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

 

 

DataPump (impdp) 매개변수 정리

키워드 내용 예시
HELP impdp 에 대한 명령어 및 도움말 메시지 표시 impdp help=y | impdp -help
DIRECTORY 참조할 DMP 파일이 입력된 디렉토리 경로 설정 directory=dpump01
DUMPFILE 참조할 dmp 파일의 이름 설정 dumpfile=test01_%U.dmp
(이때 %U 는 순차적인 번호가 입력됨)
LOGFILE 참조할 LOG 파일의 이름 설정 logfile=export.log
FULL Database 전체를 import 수행 하도록 지정 full=[y | n]
SCHEMAS schemas 모드로 import 수행 하도록 지정 schemas=scott
TABLES table 모드로 import 수행 하도록 지정 tables=[schema_name.]emp[:partition_name]
TABLESPACES Tablespace 모드로 import 수행 하도록 지정 tablespace=USERS
ATTACH 진행중인(일시중단 된) 작업에 접근하여 컨트롤 가능
(job_name 매개변수를 참조)
ATTACH=job_name
JOB_NAME import 작업에 대한 이름 job_name=full_expdp_01
CONTENT import 할 시 데이터 종류 지정 content=[all | data_only | metadata_only]
CLUSTER 클러스터 리소스를 활용 및 RAC 전체에 대한 작업 분산 여부 지정 cluster=[Y | N]
PARALLEL import 작업에 대한 병렬 프로세스 갯수 설정 parallel=4
EXCLUDE 작업 수행 시 원하는 오브젝트의 제외를 지정하여 작업 가능 exclude=table:\"IN\(\'EMP\',\'DEPT3\'\)\”
(이때 특수문자 앞에 역슬래시:\ 가 있어야 인식됨)
INCLUDE 작업 수행 시 원하는 오브젝트의 포함을 지정하여 작업 가능 include=table:\”IN\(\’EMP\’,\’DEPT3\’\)\” include=PROCEDURE include=INDEX:\”LIKE\‘EMP\%\’\”
(이때 특수문자 앞에 역슬래시:\ 가 있어야 인식됨)
QUERY 특정 조건에 맞는 데이터만 지정하여 작업 가능 query=emp:\"\'where sal>1000\'\”
(이때 특수문자 앞에 역슬래시:\ 가 있어야 인식됨)
VERSION import 할 객체의 DB 버전에 대한 호환 식별
(import 작업에서 거의 사용 안함)
(network_link 또는 sqlfile 에 대해서만 적합)
version=[compatible | latest | version_string(11.2)]
FLASHBACK_SCN SCN 을 지정하여 그에 해당하는 스냅샷을 확인하여 import 작업 가능 flashback_scn=1234567
FLASHBACK_TIME 시간을 지정하여 가장 가까운 SCN 을 가져와 그에 해당하는 스냅샷을 확인하여 import 작업 가능 flashback_scn=\”to_timestamp\(\’2022-12-19 10:00:00\’, \‘yyyy-mm-dd hh24:mi:ss\’\)\”
(이때 특수문자 앞에 역슬래시:\ 가 있어야 인식됨)
ABORT_STEP import 시작 직전 또는 지정한 오브젝트 프로세스 순서 번호에 abort 되어 import 가 중단됨 attach 매개변수를 사용하여 재시작 또는 작업 취소가능 abort_step=[-1 | 0~]
ACCESS_METHOD (표 아래 옵션 확인) 특정 이유로 기본 방식이 작동하지 않을 경우. 특정 메소드를 활용하여 데이터를 load 하도록 설정 access_method=[automatic | direct_path | external_table | conventional_path | insert_as_select]
DATA_OPTIONS (표 아래 옵션 확인) import 작업 중에 특정 형식의 데이터를 처리하는 방식 data_options=[disable_append_hint | skip_constraint_errors | enable_network_compression | reject_rows_with_repl_char | trust_existing_table_partitions | validate_table_data]
PARTITION_OPTIONS import 하는 중 table partition 만든는 방법 지정 partition_options=[none | departition | merge]
ENCRYPTION_PASSWORD (11g 이상 EE 기능) : ENCRYPTION_PWD_PROMPT 와 동시 사용 불가능 암호화된 파일에 대한 패스워드 입력
(export 시에 지정한 암호가 필요)
encryption_password=패스워드
ENCRYPTION_PWD_PROMPT (11g 이상 EE 기능) : ENCRYPTION_PASSWORD 와 동시 사용 불가능 암호화 암호를 묻는 메시지를 표시할지 여부 설정
(yes 시에 암호화 암호가 프롬프트에 입력될때 보이지 않음)
encryption_pwd_prompt=[yes | no]
ESTIMATE import 작업 시 각각의 테이블이 사용하는 디스크 사용량을 [블록수*블록사이즈] 로 표시할지 analyze table 명령어로 딕셔너리를 업데이트시킨 후 사용량을 통계로 표현할 것인지 설정 estimate=[blocks | statistics]
KEEP_MASTER 완료된 import 작업에 대해 원본 테이블을 삭제할지 또는 유지할지를 설정 keep_master=[yes | no]
LOGTIME (표 아래 옵션 확인) import 작업 중 출력되는 메시지에 시간이 나오도록 설정 datapump 작업의 여러단계간에 경과된 시간 파악 가능 logtime=[none | status | logfile | all]
MASTER_ONLY 원본 테이블의 내용을 검사할 수 있도록 원본 테이블만 가져온 다음 작업을 중지할지 여부 설정 master_only=[yes | no]
METRICS 작업에 대한 추가 정보를 LOG 파일에 표시할지에 대한 여부 설정 (개체 수 및 경과 시간 등 내용 표시) metrics=[yes | no]
NOLOGFILE log 파일을 만들지 여부 설정 nologfile=[yes | no]
PARFILE 매개변수 목록을 미리 설정하여 파일(표 아래 옵션 확인)로 보관할때 import 작업시 해당 파일을 참조하여 간단하게 실행 가능 ex) ex.par SCHEMAS=scott DUMPFILE=exp.dmp DIRECTORY=datapump LOGFILE=exp.log impdp scott parfile=ex.par
SERVICE_NAME 작업이 진행될 인스턴스를 지정 가능
ex) a,b,c,d 인스턴스 : a,b,c 로 구성된 리소스 그룹
1. 변수 설정하고 a 인스턴스에서 작업 할 경우
: a,b,c 인스턴스에 프로세스가 작동
: CLUSTER=YES SERVICE_NAME=[service_name]
2. 변수 설정하고 d 인스턴스에서 작업 할 경우
: a,b,c,d 인스턴스에 프로세스가 작동
: CLUSTER=YES SERVICE_NAME=[service_name]
3. SERVICE_NAME 변수만 설정되고, a 인스턴스에서 작업 할 경우
: 모든 프로세스가 a 인스턴스에서 작동
: CLUSTER=no SERVICE_NAME=[service_name]
CLUSTER=YES SERVICE_NAME=[service_name]
NETWORK_LINK 원격지에 있는 DB에 접근하여 import 할 시에 설정
(원격지 db로 db link 가 생성 되어있어야 사용가능)
network_link=source_database_link
SOURCE_EDITION 개체를 가져올 원격 노드의 DB 버전을 지정
(NETWORK_LINK 참조)
source_edition=edition_name
STATUS import 작업시 상태 표시가 업데이트 되는 빈도 설정 status=300 (초단위 지정 가능)
TRANSPORTABLE (표 아래 옵션 확인) table 모드로 지원하여 table 매개변수를 통해 table, partition, subpartition 등을 export 할때 사용 transportable=[always | never]
TRANSPORT_FULL_CHECK 전송 가능한 집합 내부의 개체와 전송가능한 집합 외부의 개체 간에 종속성을 확인할지 여부 설정 transport_full_check=[yes | no]
TRANSPORT_TABLESPACES 테이블스페이스 모드로 import 수행 transport_tablespaces=tablespace_name [, …]
VIEWS_AS_TABLES (network link 가능) 하나 이상의 view 를 테이블로 import 수행
(해당 옵션은 암호화 되지 않은 view 를 암호화 되지 않은 테이블로 import 하므로 민감한 데이터일 경우 import 시에 암호화 모드를 활성화 권장)
[network_link=dblink1] views_as_tables=[schema_name.]view_name[:table_name]
TRANSPORT_DATAFILES 대상 db로 import 할 파일 목록 지정
(데이터 파일이 소스db에 위치해 있어야 가능)
transport_datafiles=datafile_name
REMAP_DATA 타겟 db로 import 할 때 데이터를 다시 매핑
(타겟 db로 가져올때 충돌을 피하기 위해 기본키를 다시 생성하는 작업 실행)
remap_data=[schema.]tablename.column_name:[schema.]pkg.function > impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp TABLES=hr.employees REMAP_DATA=hr.employees.first_name:hr.remap.plusx
REMAP_DATAFILE 소스 데이터 파일이 참조되는 모든 sql 문에서 소스 데이터 파일의 이름을 타겟 데이터 파일 이름으로 변경 REMAP_DATAFILE=source_datafile:target_datafile DIRECTORY=dpump_dir1 FULL=YES DUMPFILE=db_full.dmp REMAP_DATAFILE="'DB1$:[HRDATA.PAYROLL]tbs6.dbf':'/db1/hrdata/payroll/tbs6.dbf'”
REMAP_DIRECTORY 플랫폼 간에 db를 이동할 때 디렉토리를 다시 맵핑 가능 REMAP_DIRECTORY=source_directory_string:target_directory_string DIRECTORY=dpump_dir1 FULL=YES DUMPFILE=db_full.dmp REMAP_DIRECTORY="'DB1$:[HRDATA.PAYROLL]':'/db1/hrdata/payroll/'”
REMAP_SCHEMA 소스 스키마의 모든 개체를 타겟 스키마로 load REMAP_SCHEMA=source_schema:target_schema > expdp system SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp > impdp system DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp REMAP_SCHEMA=hr:scott
REMAP_TABLE import 작업중 테이블의 이름을 변경 가능 REMAP_TABLE=[schema.]old_tablename[:partition]:new_tablename > impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp TABLES=hr.employees REMAP_TABLE=hr.employees:emps
REMAP_TABLESPACE 소스 테이블스페이스의 영구 데이터와 함께 import를 위해 선택한 모든 객체를 타겟 테이블스페이스에 다시 매핑 REMAP_TABLESPACE=source_tablespace:target_tablespace > impdp hr REMAP_TABLESPACE=tbs_1:tbs_6 DIRECTORY=dpump_dir1 DUMPFILE=employees.dmp
REUSE_DATAFILES import 작업에서 tablespace 생성을 위해 기존 데이터 파일을 재사용 할지에 대한 여부
(옵션을 사용할 경우 데이터 손실이 발생할수 있음) (옵션을 사용할 경우 기존 데이터 파일이 다시 초기화 됨)
reuse_datafiles[yes | no]
SKIP_UNUSABLE_INDEXES import 중 인덱스 사용불가 상태로 설정된 테이블 load 를 스킵 할 것인지에 대한 여부 skip_unusable_indexes=[yes | no]
SQLFILE 다른 매개 변수를 기반으로 import 에서 실행 될 경우 모든 sql ddl 이 기록되는 파일을 지정 sqlfile=[directory_object:]file_name
STREAMS_CONFIGURATION export dmp 파일에 있을 수 있는 streams 메타데이터를 import 할지 여부 streams_configuration=[yes | no]
TABLE_EXISTS_ACTION 생성하려는 테이블이 이미 있는 경우 수행할 작업을 사전에 알려줌 table_exists_action=[skip | append | truncate | replace]
TARGET_EDITION (해당 작업) 개체를 가져올 db 버전을 지정 target_edition=name > impdp hr DIRECTORY=dpump_dir1 DUMPFILE=exp_dat.dmp TARGET_EDITION=exp_edition

 

 

 

ACCESS_METHOD 옵션 설명

automatic

. 각 테이블에 대하 데이터를 loan 하는 가장 최적의 방법을 결정

direct_path

. 모든 테이블에 대해 직접 경로 load 를 사용

(해당 옵션은 db link 로는 사용 불가능)

external_table

. sql문을 사용하여 dmp 파일에 저장된 데이터를 사용하여 데이터를 테이블로 load 진행

conventional_path

. dmp 파일에 저장된 데이터에 대해 external tables 을 만들고 external tables 에서 행을 한번에 하나씩 읽어 행 별로 insert 문을 실행하여 대상 테이블에 load 진행

. 해당 옵션은 시간은 오래 걸리지만 direct path 또는 external tables 을 load 하는 유일한 방법

insert_as_select

. sql문을 실행하여 원격 db 에서 데이터를 load

(해당 옵션은 네트워크 모드 import 에서만 사용 가능)

 

 

 

 

DATA_OPTIONS 옵션 설명

disable_append_hint

. 데이터 객체를 로드하는 동안 가져오기 작업에서 힌트를 사용하지 않도록 지정

. 힌트를 사용하지 않도록 설정하면 데이터베이스에 이미 있는 로드할 작은 데이터 개체 집합이 있고 일부 다른 응용 프로그램이 하나 이상의 데이터 개체에 동시에 액세스할 수 있는 경우에 유용

skip_constraint_errors

. 옵션은 지연되지 않은 제한조건 위반이 발생하는 경우에도 가져오기 작업을 계속하도록 지정

. 지연되지 않은 제약 조건 위반을 일으키는 모든 행을 기록하지만 위반이 발생한 데이터 개체에 대한 로드를 중지하지는 않음

. 데이터 객체(테이블, 파티션 또는 하위 파티션)가 로드되는 동안 지연되지 않은  제약 조건 위반이 처리되는 방식에 영향

enable_network_compression

. Data Pump 매개변수가 원격 테이블 데이터를 로드하도록 설정된 네트워크 import 에 사용

. Data Pump는 네트워크를 통해 대상 데이터베이스로 전송되기 전에 원격 노드의 데이터를 압축하여 전송 후 압축 해제 진행

. 네트워크를 통해 전송되는 데이터의 양이 줄어들기 때문에 원격 데이터베이스와 로컬 DB 간의 네트워크 연결이 느린 경우에 유용

reject_rows_with_repl_char

. 문자 집합 변환 중에 기본 대체 문자가 사용되었기 때문에 데이터 손실이 발생하는 행을 import 작업에서 거부하도록 지정

trust_existing_table_partitions

. 파티션 데이터를 기존 테이블에 병렬로 로드하도록 Data Pump에 지시

. (필수) 테이블 데이터 import 가 시작되기 전에 데이터 펌프를 사용하여 export 데이터베이스의 정의에서 테이블을 작성하는 경우 이 옵션을 사용해야 함

validate_table_data

. 데이터 펌프가 테이블 데이터 열의 숫자 및 날짜 데이터 유형의 유효성을 검사하도록 지시

. 잘못된 데이터가 발견되면 파일에 오류가 기록

 

 

LOGTIME 옵션 설명

NONE

. 상태 또는 로그 파일 메시지에 표시 없음 (기본값과 동일)

STATUS

. 상태 메시지에만 표시

LOGFILE

. 로그 파일 메시지에만 표시

ALL

. 상태 및 로그 파일 메시지 모두 표시

 

 

TRANSPORTABLE 옵션 설명

table mode import (tables 매개변수)

. 테이블 모드 import 에서 해당 옵션을 사용하면 지정된 테이블,파티션 또는 하위 파티션에 대한 메타 데이터만 import 발생

full mode import (full 매개변수)

. 전체 import 에서 해당 옵션을 사용하면 DB 전체 복사본을 만드는 데 필요한 모든 개체와 데이터를 내보내는 전체 import 발생

 

 

PARTITION_OPTIONS 옵션 설명

NONE

. export 작업이 수행된 시스템에 존재하는 테이블로 작성

. export 가 partition 또는 subpartition filter 방식으로 수행 된 경우 해당 옵션을 사용 불가능

DEPARTITION

. 각 partition 또는 subpartition 을 새 개별 테이블로 승격됨

. 새 테이블의 기본 이름은 테이블과 파티션이름 또는 테이블과 하위파티션 이름을 적합하게 연결되어 사용됨

MERGE

. 모든 partition 과 subpartition 을 하나의 테이블로 결합

 

 

TARGET_EDITION

Edition to be used for loading metadata.

TRANSFORM

Metadata transform to apply to applicable objects.

Valid keywords are: DISABLE_ARCHIVE_LOGGING, INMEMORY, INMEMORY_CLAUSE, LOB_STORAGE, OID, PCTSPACE, SEGMENT_ATTRIBUTES, SEGMENT_CREATION, STORAGE, and TABLE_COMPRESSION_CLAUSE.

 


 

The following commands are valid while in interactive mode. Note: abbreviations are allowed.

CONTINUE_CLIENT Return to logging mode. Job will be restarted if idle.

EXIT_CLIENT Quit client session and leave job running.

HELP Summarize interactive commands.

KILL_JOB Detach and delete job.

PARALLEL Change the number of active workers for current job.

START_JOB Start or resume current job. Valid keywords are: SKIP_CURRENT.

STATUS Frequency (secs) job status is to be monitored where the default [0] will show new status when available.

STOP_JOB Orderly shutdown of job execution and exits the client. Valid keywords are: IMMEDIATE.

STOP_WORKER Stops a hung or stuck worker.

TRACE Set trace/debug flags for the current job.

 

 

 

※ 참조 사이트

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/datapump-import-utility.html#GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B

 

'Oracle > Migration' 카테고리의 다른 글

DataPump (expdp) 옵션 정리  (1) 2023.05.19
[oracle] 19c SE -> EE 전환 및 Migration  (0) 2023.05.19

댓글