본문 바로가기
DB/Oracle

DATA PUMP 데이터베이스 EXPDP 하는 방법(DMP 파일 만드는 방법)

by 융댜 2019. 5. 23.
반응형

EXPDP는

데이터베이스를 백업하는 방법입니다 결과적으로 *.DMP파일이 데이터베이스에 등록되어있는 디렉터리에 생성이 됩니다. 

이때 말하는 디렉터리는 자신의 컴퓨터 디렉터리가 아닙니다. 혹시 모르시는 분들을 위해 전에 쓴 글을 링크 걸어둘게요 .

https://self-interest.tistory.com/22

 

오라클 DATA PUMP (EXPDP / IMPDP) 하기전 디렉터리 추가, 조회, 삭제, 권한설정 방법

회사에서 기존에 있던 스키마를 DUMP를 떠서 다른 스키마에 덮어쓰라는 미션이 떨어졌습니다. 항상 누군가 만들어주었는데 이번에는 내가 직접 해야 했습니다. 당황스러웠지만 어려운 작업 아니니깐 저처럼 겁먹고..

self-interest.tistory.com

 

옛날에는  exp라고 별도의 백업 방식이 존재했다고 하네요. 하지만 지금의 EXPDP/IMPDP랑은 호환도 안되고 오라클에서도 권장하지 않는다고 하네요. 그냥 그런 게 있었구나 하고 알아만 두세요.

전체적인 맥락으로 보자면 아래와 같아요.

 
expdp <아이디> / <패스워드> @ <접속처> <옵션>

옵션을 어떻게 주냐에 따라 백업하는 방식이 달라집니다.

윈도우의 경우 파워쉘이나 명령 프롬프트를 실행하시고 하면 됩니다.

 

이제 옵션을 어떻게 주는지 대표적으로 몇 가지 알아보겠습니다.

DB 전체(full) 백업

expdp 아이디/비밀번호@접속처 directory=디렉터리명 dumpfile=파일명.dmp full=y

 

테이블스페이스(tablespaces) 백업

expdp 아이디/비밀번호@접속처 directory=디렉터리명 dumpfile=파일명.dmp tablespaces=테이블스페이스

 

스키마(Schemas) 백업

expdp 아이디/비밀번호@접속처 directory=디렉터리명 dumpfile=파일명.dmp schemas=스키마

 

테이블(tables) 백업

expdp 아이디/비밀번호@접속처 directory=디렉터리명 dumpfile=파일명.dmp tables=스키마.테이블

 

여기서 말하는 디렉터리명은 모두 디렉터리 오브젝트명입니다.

 

그리고 추가적으로 옵션도 조금 알아보겠습니다.

위에 적은 백업 방법 뒤에 [옵션 이름 = 값]으로 추가적으로 기입하면 됩니다.

예시)
expdp 아이디/비밀번호@접속처 directory=디렉터리명 dumpfile=파일명.dmp full=y logfile=backup.log

 

logfile 옵션

logfile=backup.log

디렉터리 개체의 경로가 로그 파일의 대상이 된다. 
대상 디렉터리 개체의 권한이 있는 경우, 디렉터리 이름도 생략 가능.

nologfile=yes

로그 파일을 출력하지 않는다.

nologfile=no (기본) 

로그 파일을 출력하지 않는다.

 

content 옵션

content=datadata_only

테이블의 데이터만 추출한다

content=metadata_only

메타데이터(테이블 정의 데이터는 없음)만 추출

content=all (기본) 

정의와 데이터 전부 추출합니다.

 

estimate_only 옵션

estimate_only=yes

디스크 용량을 추정할 때 (써보지 않았지만 dmp파일이 만들어지지 않을 것 같습니다.)

 

exclude 옵션

exclude = INDEX

인덱스를 제외합니다.

추출시에 특정 개체를 제외할 수 있습니다.

table, index, constraint, grant

 

cluster 옵션

cluster=yes

Real Application Clusters (RAC) 환경 옵션

각 인스턴스에 분산하여 수행합니다. 오버 헤드가 걸리지만, 대상이 대용량 데이터라면 성능 향상을 전망할 수 있습니다.

 

compression 옵션

compression=all
전체를 압축하고 dmp 파일을 내 보냅니다. 
※ Enterprise Edition에서 Advanced Compression 옵션 라이센스가 필요합니다.

compression=data_only
데이터만을 압축하여 dmp 파일을 내 보냅니다. 
※ Enterprise Edition에서 Advanced Compression 옵션 라이센스가 필요합니다.

compression=metadata_only (기본)
메타 데이터 만 압축하고 dmp 파일을 내 보냅니다.

 

encryption_password 옵션

암호를 지정

※ Enterprise Edition에서 Advanced Security 옵션 라이센스가 필요합니다.

 

reuse_dumpfiles 옵션

reuse_dumpfiles=yes

dmp 파일을 초기화 재사용합니다.

 

logtime 옵션

logtime=all

표시 메시지에 타임스탬프를 기록한다.

logtime=status

로그 메시지에 타임스탬프를 기록한다.

logtime=logfile

표시 메시지와 로그 메시지에 타임스탬프를 기록한다.

logtime=none (기본값)

표시 메시지와 로그 메시지에 타임스탬프를 기록하지 않는다.

 

 

정리하면서 위에 옵션을 쓰면서 백업을 할때 예시입니다.

스키마 IT1의 메타데이터만 추출하고 싶을 때(데이터 없음)

expdp USER/PASSWORD@DB1 directory=PUMP_DIR dumpfile=PUMP_DIR:backup.dmp schemas=IT1 CONTENT=metadata_only

 

반응형

댓글