반응형
oracle data pump
Oracle 데이터베이스를 가져오거나 내보낼 때, 데이터 펌프를 사용합니다.
impdp는 특정 스키마, 개체, 전체 데이터베이스를 가져오는 데 이용됩니다.
이번 포스팅에서는 impdp의 사용 방법과 예제를 적어보려고 합니다.
impdp란?
impdp의 정의
Oracle 데이터베이스에서 가져오기 위해서는 데이터 펌프 유틸리티인 impdp를 사용합니다. impdp는 특정 스키마나 개체, 또는 전체 데이터베이스를 가져올 수 있습니다.
impdp의 목적
데이터 이전, 데이터베이스 복제 및 데이터베이스 업그레이드와 같은 목적으로 impdp를 사용합니다. 이를 통해 데이터를 다양한 형식으로 가져와서 데이터 손실 없이 올바르게 이전할 수 있습니다.
impdp의 구성요소
■ Dump File : 테이블로 부터 데이터 또는 메터 데이터를 로드하여 저장된 파일
■ Log File : Data Pump 작업 중에 발생하는 메시지나 결과를 기록하는 파일
■ SQL File : Data Pump는 SQLFILE 이라는 옵션을 사용합니다. 이옵션을 사용 할 경우
Data Pump Import 작업이 수행되는 동안 DDL문을 수행 할 수 있게 해줍니다.
impdp의 사용방법
순서
sys 계정으로 접속 > 오라클 덤프 디렉토리 생성 > 권한 부여
덤프 디렉토리에 dmp파일, log파일 넣어두기
cmd에서 해당 덤프 디렉토리 경로로 이동
impdp 시작
기본 구문
impdp userid=username/password directory=directory_name dumpfile=dump_file.dmp logfile=log_file.log
스키마 가져오기
impdp hr/hr directory=dpump_dir1 dumpfile=hr.dmp schemas=hr
테이블 가져오기
impdp hr/hr directory=dpump_dir1 dumpfile=hr.dmp tables=employees
전체 데이터베이스
impdp system/password full=y directory=dpump_dir1 dumpfile=all.dmp logfile=all.log
impdp의 다양한 옵션
매개변수 | 설명 |
full | 전체 데이터베이스를 가져올 때 full=y 속성 지정 |
remap_schema | remap_schema=기존스키마:새로운스키마 |
remap_tablespace | remap_tablespace=기존 테이블스페이스명:새로운 테이블스페이스명 |
remap_datafile | remap_datafile=기존 데이터파일:새로운 데이터파일 |
remap_table | remap_table=[스키마.]기존 테이블명:[스키마.]새로운 스키마명 |
data pump 공통 옵션
매개변수 | 옵션 |
directory | impdp를 진행할 dump 경로 명 (select * from dba_directories;) 이 디렉터리는 데이터베이스에서 오브젝트로 등록 |
dumpfile | export 혹은 import 받을 파일명 지정 |
logfile | 작업 로그 파일명 |
content | 1. content = all 데이터와 메타데이터 둘 다 import 2. content = data_only table row data 만 import 3. content = metadata_only row data 를 제외한 database object definition 만을 import |
include | 특정 대상들을 골라 import 작업에 포함 |
exclude | import 작업에서 제외될 데이터 선택 |
table_exist_action | 1. table_exists_action=skip 해당 테이블에 대한 import작업을 건너뜀 2. table_exists_action=append 해당 테이블의 뒤에 내용을 추가 3. table_exists_action=truncate 해당 테이블을 truncate하고 import 4. table_exists_action=replace 원본 테이블을 해당 테이블이 덮어씀 |
logfile/nologfile | impdp 실행 시 로그 출력 여부 |
job_name | attach 파라미터를 사용하기 위해 혹은 dba_datapump_jobs 뷰에서 조회를 하기 위해 해당 import작업에 이름을 부여 |
반응형