기본 템플릿 : 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.
※ 참조 사이트
'Oracle > Migration' 카테고리의 다른 글
DataPump (expdp) 옵션 정리 (1) | 2023.05.19 |
---|---|
[oracle] 19c SE -> EE 전환 및 Migration (0) | 2023.05.19 |
댓글