기본 템플릿 : expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp
DataPump (expdp) 매개변수 정리
키워드 | 설명 | 예시 |
HELP | expdp 에 대한 명령어 및 도움말 메시지 표시 | expdp help=y | expdp -help |
DIRECTORY | DMP 파일이 입력될 디렉토리 경로 설정 | directory=dpump01 |
DUMPFILE | 입력될 dmp 파일의 이름 설정 | dumpfile=test01_%U.dmp (이때 %U 는 순차적인 번호가 입력됨) |
LOGFILE | 입력될 LOG 파일의 이름 설정 | logfile=export.log |
FULL | Database 전체를 export 할지에 대한 여부 | full=[y | n] |
SCHEMAS | 지정한 스키마가 소유한 오브젝트를 대상으로 export 작업 | schemas=scott |
TABLES | 지정한 table 을 대상으로 export 작업 | tables=[schema_name.]emp[:partition_name] |
TABLESPACES | 지정한 Tablespace 에 포함되는 오브젝트에 대한 export 작업 | tablespace=USERS |
ATTACH | 진행중인(일시중단 된) 작업에 접근하여 컨트롤 가능 (job_name 매개변수를 참조) |
ATTACH=job_name |
JOB_NAME | export 작업에 대한 이름 | job_name=full_expdp_01 |
COMPRESSION | export 되는 파일의 어느 종류를 압축 할지에 대한 여부 | compression=[metadata_only | none | all | data_only] |
COMPRESSION_ALGORITHM | 사용할 압축 알고리즘 선택 | compression_algorithm=[basic | low | medium | high] |
CONTENT | export 할 시 데이터 종류 지정 | content=[all | data_only | metadata_only] |
CLUSTER | 클러스터 리소스를 활용 및 RAC 전체에 대한 작업 분산 여부 지정 | cluster=[Y | N] |
PARALLEL | export 작업에 대한 병렬 프로세스 갯수 설정 | parallel=4 |
FILESIZE | 분할 export 받을 시에 파일의 최대 사이즈를 설정 | filesize=100 [bytes | kilobytes | megabytes | gigabytes] |
SAMPLE | export 시 데이터의 양이 많을 경우 퍼센트로 지정하여 추출 가능 | sample=scott.emp:20 |
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 | 더 낮은 DB 버전으로 import 할시 소스 db에 대한 버전 명시가 반드시 필요함 (버전이 같거나 높은경우 명시할 필요 없음) |
version=11.2 ex) 19c 에서 11g로 ex/im 할 경우 |
FLASHBACK_SCN | SCN 을 지정하여 그에 해당하는 스냅샷을 확인하여 export 작업 가능 (undo 공간이 충분 할 때 사용가능) |
flashback_scn=1234567 |
FLASHBACK_TIME | 시간을 지정하여 가장 가까운 SCN 을 가져와 그에 해당하는 스냅샷을 확인하여 export 작업 가능 (undo 공간이 충분 할 때 사용가능) | flashback_scn=\”to_timestamp\(\’2022-12-19 10:00:00\’, \‘yyyy-mm-dd hh24:mi:ss\’\)\” (이때 특수문자 앞에 역슬래시:\ 가 있어야 인식됨) |
ABORT_STEP | export 시작 직전 또는 지정한 오브젝트 프로세스 순서 번호에 abort 되어 export 가 중단됨 attach 매개변수를 사용하여 재시작 또는 작업 취소가능 | abort_step=[-1 | 0~] |
ACCESS_METHOD (표 아래 옵션 확인) | 특정 이유로 기본 방식이 작동하지 않을 경우. 특정 메소드를 활용하여 데이터를 unload 하도록 설정 | access_method=[automatic | direct_path | external_table | insert_as_select] |
DATA_OPTIONS (표 아래 옵션 확인) | export 작업 중에 특정 형식의 데이터를 처리하는 방식 | data_options=[xml_clobs | group_partition_table_data | verify_stream_format] |
ENCRYPTION (11g 이상 EE 기능) | export 하기전 암호화 할지 여부 설정 | encryption=[all | data_only | encrypted_columns_only | metadata_only | none] |
ENCRYPTION_ALGORITHM (11g 이상 EE 기능) | 암호화를 수행할시 사용할 암호화 알고리즘 선택 | encryption_algorithm=[aes128 | aes192 | aes256] |
ENCRYPTION_MODE (11g 이상 EE 기능) | 암호화 및 암호 해독을 수핼할 때 사용할 보안 유형 선택 | encryption_mode=[dual | password | transparent] |
ENCRYPTION_PASSWORD (11g 이상 EE 기능) : ENCRYPTION_PWD_PROMPT 와 동시 사용 불가능 | 암호화된 파일에 대한 패스워드 설정 | encryption_password=패스워드 |
ENCRYPTION_PWD_PROMPT (11g 이상 EE 기능) : ENCRYPTION_PASSWORD 와 동시 사용 불가능 | 암호화 암호를 묻는 메시지를 표시할지 여부 설정 (yes 시에 암호화 암호가 프롬프트에 입력될때 보이지 않음) | encryption_pwd_prompt=[yes | no] |
ESTIMATE | export 작업 시 각각의 테이블이 사용하는 디스크 사용량을 [블록수*블록사이즈] 로 표시할지 analyze table 명령어로 딕셔너리를 업데이트시킨 후 사용량을 통계로 표현할 것인지 설정 | estimate=[blocks | statistics] |
ESTIMATE_ONLY | 이 값을 yes 로 설정할시 실제 export 작업을 하지 않고 export 작업이 진행될 경우 예상 되는 디스크 사용량만 출력 | estimate_only=[yes | no] |
KEEP_MASTER | 완료된 export 작업에 대해 원본 테이블을 삭제할지 또는 유지할지를 설정 | keep_master=[yes | no] |
LOGTIME (표 아래 옵션 확인) | export 작업 중 출력되는 메시지에 시간이 나오도록 설정 datapump 작업의 여러단계간에 경과된 시간 파악 가능 | logtime=[none | status | logfile | all] |
METRICS | 작업에 대한 추가 정보를 LOG 파일에 표시할지에 대한 여부 설정 (개체 수 및 경과 시간 등 내용 표시) |
metrics=[yes | no] |
NOLOGFILE | log 파일을 만들지 여부 설정 | nologfile=[yes | no] |
PARFILE | 매개변수 목록을 미리 설정하여 파일(표 아래 옵션 확인)로 보관할때 export 작업시 해당 파일을 참조하여 간단하게 실행 가능 | ex) ex.par SCHEMAS=scott DUMPFILE=exp.dmp DIRECTORY=datapump LOGFILE=exp.log expdp 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에 접근하여 export 할 시에 설정 (원격지 db로 db link 가 생성 되어있어야 사용가능) |
network_link=emp@testdb |
SOURCE_EDITION | 개체를 가져올 원격 노드의 DB 버전을 지정 (NETWORK_LINK 참조) | source_edition=edition_name |
STATUS | export 작업시 상태 표시가 업데이트 되는 빈도 설정 | status=300 (초단위 지정 가능) |
TRANSPORTABLE (표 아래 옵션 확인) | table 모드로 지원하여 table 매개변수를 통해 table, partition, subpartition 등을 export 할때 사용 | transportable=[always | never] |
TRANSPORT_FULL_CHECK | 전송 가능한 집합 내부의 개체와 전송가능한 집합 외부의 개체 간에 종속성을 확인할지 여부 설정 | transport_full_check=[yes | no] |
TRANSPORT_TABLESPACES | 테이블스페이스 모드로 export 수행 | transport_tablespaces=tablespace_name [, …] |
VIEWS_AS_TABLES | 하나 이상의 view 를 테이블로 export 수행 (해당 옵션은 암호화 되지 않은 view 를 암호화 되지 않은 테이블로 export 하므로 민감한 데이터일 경우 export 시에 암호화 모드를 활성화 권장) |
views_as_tables=[schema_name.]view_name[:table_name] |
ACCESS_METHOD 옵션 설명
automatic - 각 테이블에 대하 데이터를 언로드 하는 가장 최적의 방법을 결정
direct_path - 모든 테이블에 대해 직접 경로 unload 를 사용 (해당 옵션은 db link 로는 사용 불가능)
insert_as_select - sql문을 실행하여 원격 db 에서 데이터를 unload (해당 옵션은 네트워크 모드 export 에서만 사용 가능)
external_table - sql문을 사용하여 dmp 파일에 저장된 데이터를 사용하여 외부 테이블을 생성
DATA_OPTIONS 옵션 설명
XML_CLOBS - 컬럼에 대해 정의된 저장 형식에 관계없이 압축되지 않은 형식으로 컬럼을 export 하도록 지정
group_partition_table_data - datapump 가 각 테이블 파티션을 별도의 작업으로 unload 하는 대신 한 작업에서 모든 테이블 데이터를 unload 하도록 지정
(따라서 import 할시 전체 테이블에 load 될 하나의 파티션을 볼 수 있으므로 가져올 때 테이블의 정의는 중요하지 않음)
verify_stream_format - dump 파일에 기록되기 전에 데이터 스트림 형식의 유효성을 검사.
확인은 스트림이 생성된 후 디스크에 기록되기 전에 스트림의 유효한 형식을 확인
(따라서 dump 파일 생성시 오류가 발생하지 않으므로 스트림을 읽을 때 오류가 발생하지 않음)
LOGTIME 옵션 설명
STATUS - 상태 메시지에만 표시
LOGFILE - 로그 파일 메시지에만 표시
NONE - 상태 또는 로그 파일 메시지에 표시 없음 (기본값과 동일)
ALL - 상태 및 로그 파일 메시지 모두 표시
TRANSPORTABLE 옵션 설명
table mode export (tables 매개변수)
전체 export 에서 해당 옵션을 사용하면 DB 전체 복사본을 만드는 데 필요한 모든 개체와 데이터를 내보내는 전체 export 발생
full mode export (full 매개변수)
테이블 모드 export 에서 해당 옵션을 사용하면 지정된 테이블,파티션 또는 하위 파티션에 대한 메타 데이터만 export 발생
datapump 커맨드창에서 사용되는 구문
ADD_FILE
. Add dumpfile to dumpfile set.
CONTINUE_CLIENT
. Return to logging mode. Job will be restarted if idle.
EXIT_CLIENT
. Quit client session and leave job running.
FILESIZE
. Default filesize (bytes) for subsequent ADD_FILE commands.
HELP
. Summarize interactive commands.
KILL_JOB
. Detach and delete job.
PARALLEL
. Change the number of active workers for current job.
REUSE_DUMPFILES
. Overwrite destination dump file if it exists [NO].
START_JOB
. Start or resume current job. Valid keyword values 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 keyword values are: IMMEDIATE.
STOP_WORKER
. Stops a hung or stuck worker.
TRACE
. Set trace/debug flags for the current job.
디렉토리 확인
col OWNER for a10
col DIRECTORY_NAME for a50
col DIRECTORY_PATH for a50
set lines 500
set pages 500
SELECT * FROM dba_directories;
디렉토리 생성
CREATE DIRECTORY dpump_dir as '/oradata/datapump';
디렉터리 삭제
SQL> DROP DIRECTORY <디렉터리 개체 이름>;
SQL> DROP DIRECTORY dir_dump
디렉터리 권한 설정
SQL> grant read, write on directory <디렉터리 개체 이름> to <사용자 이름>;
GRANT READ, WRITE ON DIRECTORY dpump_dir to SYSTEM;
GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE to SYSTEM;
해당 경로(하위경로포함)에서 특정 이름의 파일이 확인되면 삭제
#find /oradata/datapump -type f -name "$(date '+%Y%m%d').dmp" -exec rm {} \;
#find /oradata/datapump -type f -name "$(date '+%Y%m%d').log" -exec rm {} \;
expdp system/oracle full=y directory=dpump_dir dumpfile=full_dump_$(date '+%Y%m%d').dmp LOGFILE=full_dump_$(date '+%Y%m%d').log exclude=statistics job_name=full_expdp_01
해당 경로(하위경로포함)에서 생성된지 30일 이상 된 파일만 삭제
#find /oradata/datapump -ctime +30 -type f -exec rm {} \;
※ 참조 사이트
'Oracle > Migration' 카테고리의 다른 글
DataPump (impdp) 옵션 정리 (1) | 2023.05.19 |
---|---|
[oracle] 19c SE -> EE 전환 및 Migration (0) | 2023.05.19 |
댓글