오라클_데이터텀프_실행스크립트.txt 1.Oracle Data pump란? Oracle Data Pump 는 Oracle Database 10g 버전에서 제공되는 Utility . 기존 Exp는 데이터들을 OS 의 바이너리 파일로 전환하는 도구이고기존 imp는 바이너리 파일을 데이터베이스 안의 데이터로 전환하는 도구. 새로 등장한 Data Pump 는 exp 와 imp 를 대체하기 위하여 오라클 10g 버전부터 제공되는 유틸리티로 Exp / Imp 와 유사한 동작을 하지만 data pump 가 훨신 효율적으로 동작. 1.1. 향상 된 속도 - Data Pump Export 에서 direct path method 를 사용시 single stream data unload 에서 기존의 export 보다 2 배가 빠름. - Data pump import 에서는 single stream 의 data load 시 기존의 import 보다 15~45 배 가 빠름 1.2. 향상된 재시작 기능 모든 Data Pump operation 은 Data Pump job 을 실행하는 스키마에 만들어진 master table 을 가지고 있다. Master table 은 현재 수행중인 모든 export 또는 import 시 객체의 상태정보와 dump file set 에서의 위치정보를 가지고 있다. 이는 갑작스런 job 의 중단에도 job 의 성공적인 종료에 상관 없이 어떤 object 의 작업이 진행 중이었는지 알 수 있게 해 준다. 그래서 master table 과 dump file set 이 있는 한 모든 정지된 data pump job 은 데이터 손실 없이 다시 시작할 수 있다. 1.3. 선택적 오프젝트 지정 - Data Pump job 은 거의 모든 type 의 object 를 exclude 또는 include 시킬 수 있다. 아래의 parameter 가 사용된다. - EXCLUDE - 특정 객체 유형을 제외한다. (예: EXCLUDE=TABLE:EMP) - INCLUDE - 특정 객체 유형을 포함한다. (예: INCLUDE=TABLE_DATA) - CONTENT - 로드를 취소할 데이터를 지정한다. 적합한 키: (ALL), DATA_ONLY 및 METADATA_ONLY. - QUERY - 테이블의 부분 집합을 엑스포트하기 위해 사용되는 술어 절이다. 2. EXPDP 수행 2.1. 실제 운영체제에 디렉토리를 생성해야함. 2.2. 수행 전 디렉토리 생성 및 권한 부여 - EXPDP파일을 저장 할 디렉토리를 생성. - USER에게 디렉토리 권한을 부여 2.3. 특정 테이블로만 EXPORT 받기 -대략적인 dmp 파일 size 를 예측할 수 있다. 2.4. 전체 DB EXPORT 받기 및 이어 받기 기능 - 전체 DB를 EXPORT 받기 위해서는 DBA권한이 필요함. - 현재 백업 진행 중인 상태를 DBA_DATAPUMP_JOBS 테이블에서 확인 가능
2.5. 이어 받기 기능 테스트 - 덤프 중 중간에 ctrl+c 눌러 빠져 나옴. - Status 는 현재까지 진행 된 상태를 나타나며,EXPORT 명령어를 사용하면, 중지 ,시작, 완전 삭제 등 컨트롤이 가능. - stop_job은 진행중인 export 작업을 멈추는 명령어. - 이어서 다시 EXPORT받기 - attach명령어에 job_name을 입력하면 다시 이어 받기 모드로 전환 - start_job명령어를 사용하면 정지 되었던 EXPORT 작업이 재 시작 된다. 재시작 상태는 DBA_DATAPUMP_JOBS 테이블에서 확인 가능 2.6 그 이외의 기능들 - 여러 유저의 테이블 한번에 EXPDP 받기 (10g에서는 불가) - expdp scott/ORACLE directory=DUMP dumpfile=dump_defer_db1.dmp job_name=jsh tables= SCOTT.EMP,STG.NAD_GRP20 3.IMPDP 수행 3.1 FULL IMPORT 받기 - 전체 EXPORT 받은 덤프 파일을 사용하여 IMPORT 적용. 3.1 덤프 작업 모니터링 - 덤프 작업 중일 때 현재 진행 상태를 모니터링 할 수 있음.( 여러 번 모니터링 했으나 값이 지속적 변경이 일어 나는 것은 1번 확인함)
# 우리는 Datapump를 사용시 DB의 버전이 낮은 -> 높은, 높은 -> 낮은 버전으로 Datapump를 실시할 수 있습니다. 이럴 경우에 version이라는 파라미터에 대해 이해가 필요합니다. 1. Datapump dumpfile compatibility(EXPDP 할 때 명시하여야할 것) 예를 들어 Expdp 하는 DB의 버전이 12.1일때 10.2의 DB에 impdp 하려면, expdp 할때 VERSION=10.2를 명시해줘야 한다는 내용입니다. 10.2에서 expdp하여 10.2에 넣는다면 버전이 같기 때문에 따로 명시해줄 필요는 없습니다. 여기에서 Compatible의 경우 pfile 및 spfile(show parameter compatible)에서 해당 버전을 확인하면 됩니다. 2. dumpfile의 정보 보는법 DB 서버에서 .dmp로 저장하여 Datapump받은 파일들은 많은데, 해당 파일이 언제 받아졌고, 어떤 방식으로 받아졌는지 확인할 때 유용합니다. SET serveroutput on SIZE 1000000 —————————————————————————- PL/SQL procedure successfully completed. 3. 참고문서(support.oracle.com) Export/Import DataPump Parameter VERSION – Compatibility of Data Pump Between Different Oracle Versions [Video] (문서 ID 553337.1) |