EXPDP는
데이터베이스를 백업하는 방법입니다 결과적으로 *.DMP파일이 데이터베이스에 등록되어있는 디렉터리에 생성이 됩니다.
이때 말하는 디렉터리는 자신의 컴퓨터 디렉터리가 아닙니다. 혹시 모르시는 분들을 위해 전에 쓴 글을 링크 걸어둘게요 .
https://self-interest.tistory.com/22
옛날에는 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
'DB > Oracle' 카테고리의 다른 글
오라클에서 처리중인 SQL 쿼리문 진행상황 확인 (2) | 2019.06.22 |
---|---|
DATA PUMP 데이터베이스 IMPDP 하는 방법(DMP 임포트) (0) | 2019.06.01 |
오라클 DATA PUMP (EXPDP / IMPDP) 하기전 디렉터리 추가, 조회, 삭제, 권한설정 방법 (0) | 2019.05.22 |
ON 조건 없이 조인(JOIN) 하는 방법 (0) | 2019.05.07 |
오라클 테이블 전체 삭제 팁 (1) | 2019.04.19 |
댓글