1. expdp 실행모드
① full 모드
- 데이터베이스 전체를 export
- DBA권한을 가지고있거나 export_full_database권한을 가지고 있어야 가능
② schema 모드
- 특정스키마의 전체를 export
- export에서 owner옵션과 동일
③ tablespace 모드
- 해당 테이블 스페이스에 속한 모든 테이블을 받을수 있음
- transport_tablespace파라미터 사용시 테이블과 테이블스페이스의 메타 데이터까지 export
- transport_tablespace를 사용하려면 양쪽 데이터베이스의 OS가 같아야 하고 block size와 characterset로 같아야함
④ table 모드
- 특정 테이블 export
- 여러개의 테이블을 export받으려면 ,(콤마)로 구분
2. expdp 파라미터
파라미터명 |
의미 |
|
directory |
파일을 저장할 디렉토리명 지정 (파일명 아님) |
directory=directory_object_name *create or replace directory [object_name] as '/data/dp' |
dumpfile |
저장될 파일명 지정, 기본값 expdat.dmp |
dumpfile=dumpfile_%U -> 파일이 여러개로 나눠질 때 |
filesize |
분할 export받을때 1개 파일 크기 |
filesize=N[bytes|kilobytes|megabytes|gigabytes] |
parfile |
각종 파라미터들을 저장해두는 파일명 |
parfile=par.file |
logfile |
작업내용을 저장할 logfile명 지정 |
logfile=logfile명 파라미터지정하지않으면 export.log로 저장됨 |
nologfile |
logfile생성하지않음 |
|
compression |
압축할 데이터지정, 기본값 METADATA_ONLY |
압축해서 덤프파일내에 저장 compression=[metadata_only|none|all] |
content |
받을 데이터종류 지정, 기본값 ALL |
all : 테이블, 메타데이터 포함 모든것 data_only : 테이블데이터만 포함 metadata_only : 메타데이터만 포함 |
exclude |
exp수행시 제외할 항목 지정 |
exclude=table:\"IN\(\'EMP\',\'DEPT\'\)\" exclude=index:\"\=\'idx_emp_ename\'\" |
include |
exp수행시 포함될 항목 지정 |
|
query |
특정조건을 주고 받음 |
query = emp:\"\'WHERE sal > 1000\'\" |
sample |
샘플로 사용할 퍼센트 지정 |
sample=scott.emp:20 |
network_link |
db_link등으로 export받을때 |
network_link=emp@second_db (second_db는 원격지 DB링크명) |
job_name |
해당 job에 job name 지정 |
|
status |
진행 내역을 화면에 보여줌, 기본값 0 |
status=20 (20초간격으로 진행결과를 갱신하여 보여줌) |
parallel |
병령처리 개수 지정, 기본값 1 |
parallel =4 (4개의 프로세스가 동시에 expdp작업수행, 속도향상) |
attach |
일시정지된 job에 접속하는 명령어 add_file : 덤프파일 추가 exit : job의 작업에서 나감 kill_job : 해당작업 완전삭제 parallel : 현재 작업중인 프로세스의 개수조정 start_job : 중단된 작업을 다시 시작 status : 현재 작업상태 모니터링하는 갱신 시간 stop_job : 현재 작업 중단 |
attach scott/tiger job_name=dp_a |
reuse_dumpfiles |
기존에 존재하던 덤프파일명을 덮어씀, 기본값 N |
reuse_dumpfiles=Y |
transport_tablespaces: |
tansportable tablespace option, 기본값 N |
|
[실습]
1. scott 계정의 emp, dept테이블만 백업받기
$expdp scott/tiger directory=datapump dumpfile=emp_dept.dmp tables=emp,dept
2. scott 스키마 전부 백업받기
$expdp scott/tiger direcotry=datapump dumpfile=scott01.dmp schemas=scott
3. DB전체를 백업받기
$expdp system/oracle direcotry=datapump dumpfile=full01.dmp full=y
4. 일시 중단후 다시 작업하기
Export > stop_job
$expdp system/oracle attach=system.job_name
Export > start_job
5. 비정상적으로 종료된 job취소하기
다시 접속을 시도하지만 접속이 안되는 에러 발생
SYS > drop table system. dp_a;
6. 여러사용자의 테이블 한꺼번에 expdp받기
$expdp system/oracle directory=datapump dumpfile=scott16.dump tables=scott.emp,hr.department full=y
7. 병렬로 expdp작업하기
$expdp system/oracle directory=datapump dumpfile=full04.dmp job_name=a parallel=4
8. 병렬로 위치 분산하여 expdp작업하기
> create directory datadir1
> create directory datadir2
$expdp system/oracle full=y parallel=4 dumpfile=DATADIR1:full1%U.dat, DATADIR2:full2%U.dat filesize 100M;
9. 파라미터 파일 사용해서 expdp수행 + 여러개의 파일로 분할
$ vi expdp.par
userid=scott/tiger
directory=datapump
job_name=datapump
logfile=expdp.log
dumpfile=expdp_%U.dmp
filesize=100M
full=y
$ expdp parilfe=expdp.par
10. 상위버전에서 하위버전으로 데이터 이동
상위버전에서 하위버전으로 datapump수행할 경우 반드시 version파라미터 사용
$ expdp scott/tiger directory=datapump dumpfile=full05.dmp version=10.2
'oracle > [Backup] 백업' 카테고리의 다른 글
[데이터 이동하기] SQL*Loader (0) | 2014.11.10 |
---|---|
[데이터 이동하기] Datapump - impdp (0) | 2014.11.10 |
[데이터 이동하기] Datapump (0) | 2014.11.10 |
[데이터 이동하기] EXP/IMP 심화학습 (0) | 2014.11.10 |
[데이터 이동하기] IMPORT (0) | 2014.11.07 |
댓글