datapump(expdp) 설명
작성자 관리자 작성시간 2016-02-16 16:06:56
 

개념

datapump는 10g 버전부터 등장한 export와 import의 향상된 유틸리티 입니다.

export와 import는 사용도 편리하고 성능도 뛰어나지만 속도가 느리고 작업시간을 예측하기도 어려운 등의 여러 가지 단점을 가지고 있었지만 datapump는 뛰어난 속도 향상과 사용자의 편의성을 가지고 있습니다.

사용 전 환경 설정 

datapump는 오라클에 directory 라는 객체를 통해서 간접으로 접근이 가능합니다.

그래서 datapump를 사용하려면 미리 directory 가 만들어져 있어야 하며 datapump를 수행하는 사용자는 그 dirctory에 접근할 수 있는 권한이 있어야 합니다.

ex) /data/datapump/라는 디렉토리가 있다고 가정하고 권한을 설정
SQL>create or replace directory datapump as '/data/datapump';
SQL> grant read,write on directory datapump to scott;
SQL> grant create any directory to scott;

expdp 실행 모드

1.full 모드 :  데이터베이스 전체를 export 받을수있다

2.schema 모드 : schema 파라미터를 사용하여 특정 스키마 전체를 받을수있다.

3.tablespace 모드 : 해당 tablespace에 속한 모든 테이블을 받을수있습니다.

transport_tablespace파라미터를 사용한다면 테이블과 테이블스페이스의 메타 데이터도 받을수있습니다.
    단!!! transport_tablespace를 사용하려면 양쪽 OS가 같고 blocksize와 characterset 이 같아야 합니다

expdp 파라미터 정리

directory : 디렉토리 오브젝트를 지정하여 덤프 파일의 위치로 로그파일의 위치 지정가능
dumpfile : 파일시스템에 저장될 덤프파일의 이름을 지정해주는 파라미터로 파일이 여러개로 나누어질때 %U로 파일 이름을 고유하게 구분해 줄수 있다.
filesize : 한개 파일의 최대 크기를 지정
parfile : 파라미터 파일을 참조하여 사용
logfile/nologfile : 작업내용을 저장 할 로그파일명을 지정

content: 작업시 어떤 내용을 포함시킬 것인가를 결정
-All :테이블과 메타데이터를 모함한 모든것
-DATA_only:테이블 데이터만 포함
-Metadata_only:메타데이터만 포함

exclude/include : 작업시 원하는 오브젝트만 선택하여 작업

ex)scott schema 의 모든 것을 expdp 받되 emp,dept 테이블만 제외할경우

expdp scott/tiger directory=datapump dumpfile=scott01.dmp schemas=scott exclude=table:\"IN\(\'EMP\',\'DEPT\'\)\"

query : 특정 조건에 맞는 데이터만 expdp 를 수행할 경우

sample : 데이터를 export할때 데이터가 너무 많을 경우 특정 퍼센트를 지정해서 추출 범위는 0.000001~100%

network_link : 원격으로 expdp할때 이기능은 DB link가 생성되어있어야 합니다

encrytion_password : expdp받은 테이블중에 특정 컬럼이 encryption되어있는경우 작업시 암호를 설정가능

job_name : 작업 수행시 job에 이름을 설정할수있습니다. 설정을 하지않으면 오라클이 자동으로 설정

status : 이 파라미터는 작업시 갱신된 내용을 status 설정된 시간 간격으로 진행상태를 보여주게 됩니다.

parallel : 작업수행시 프로세스를 몇 개를 사용 할 것인가를 지정하는 파라미터입니다. 주의할점은 지정된 개수만큼의 데이터 파일을 만들어 주어야하는데 앞에서 배운 %U 옵션을 주면 자동으로 생성

attach : 일시 중단된 작업에 다시 접속 할때 사용

ex) expdp scott/tiger job_name=dp1
attach 모드 옵션
add_file : 덤프파일을 추가
exit:job 의 작업에서 빠져나감
kill_job : 해당 작업을 삭제
parallel : 현재 작업중인 프로세스의 개수를 조절
start_job :중단된 작업을 다시 시작
status : 현재 작업을 모니터링하는 시간조절
stop_job : 현재 작업을 중단

[출처] datapump(expdp)|작성자 oracleguy


목록 | 입력 | 수정 | 답변 | 삭제