datapump &

주의
실행방법
특징 & 
Directory
Data Access Method 
Direct-Path
External Table &

조회
예상 작업 종료시간 파악


시나리오
users 테이블 스페이스 export
scott schema Export



Datapump 는 Oracle 10g 버전때 등장한 유틸리티이다. import/export 의 기존 유틸리티의 여러가지 단점을 보완하여 만들어졌다.,

주의
- datapump 와 export/import 는 용도는 같지만 전혀 다른 유틸로써 서로의 데이터는 호환되지 않는다.
- 전체 데이터베이스를 export 하거나 import를 하기 위해서는 EXP_FULL_DATABASE, IMP_FULL_DATABASE 권한을 부여받은 사용자야 한다.

실행방법
expdp / impdp  으로 export 작업과 import 작업을 수행한다.

특징 &
Parallel (병렬)  : 
- 일반적으로 이 값은 CPU 개수의 2배정도를 한다.
- Standard Editon 버전에서는 1 로 제한되어 있다.

START JOP

 
필요한 디스크 공간 예상

 

Directory 

 Datapump 에서는 보안상의 이유로 사용자가 직접 OS 상의 저장 경로를 지정하지 못하게 되어 있다.
(http://tawool-oracle.tistory.com/248 : Directory 관리)

디폴트 디렉토리 설정
os 환경변수에 설정하여 생략하면 기본적으로 사용될 디렉토리를 설정한다.
$export DATA_DUMP_DIR mydir
 

 


Data Access Method

두가지 방법이 있다. Direct Path 방법과 External Table 방법이 있다. Datapump는 자동으로 이 둘중 각 테이블에 맞는 가장 빠른 방법을 선택한다. 

Direct-Path
메모리를 거치지 않고 파일에 바로 내려쓰는 방법이다. 속도가 빠르다.

Direct-Path Load를 사용하지 못하는 경우
아래의 조건중 하나라도 만족하는 테이블이 존재하면 Datapump는 External Table 방식으로 된다. 
- global Index를 가진 테이블이 하나의 파티션에 존재하는 경우
- LOB 컬럼에 대해 도메인 인덱스가 있는 경우
- 트리거가 활성화된 테이블인 경우
- Insert Mode 에서 fine-grained Access control 이 enabled 인 경우
- BFILE column 을 포함하는 테이블
- 기존 테이블에 참조 무결성 제약 조건이 존재 할 경우
- 테이블에 암호화 된 컬럼을 가지고 있는 경우



External Tables
&






조회 
일반적으로 expdp 나 impdp 를 사용시 조회나 작업 관리를 위해 job_name 값을 설정해 주는것이 좋다.

$ exp system/oracle job_name=datapump full=y datafile=full.dmp

작업의 남은 예상 시간 조회
v$session_longops 를 보면 SOFAR , TOTALWORK 컬럼값을 비교하면 대략 언제쯤 작업이 종료될 것인지 파악할 수 있다.
-----
-- OS
$ exp system/oracle job_name=datapump full=y datafile=full.dmp
-- 계속 진행중
-- 새로운 세션을 연다 SQL PLUS
SQL > select sid, serial#, sofar, totalwork, opname
from v$session_longops
where sofar != totalwork
opname = 'DATAPUMP'

SQL> /

       SID    SERIAL#      SOFAR  TOTALWORK OPNAME
---------- ---------- ---------- ---------- --------------------
       145        225         10         61 DATAPUMP

SQL> /

       SID    SERIAL#      SOFAR  TOTALWORK OPNAME
---------- ---------- ---------- ---------- --------------------
       145        225         10         61 DATAPUMP

SQL> /

       SID    SERIAL#      SOFAR  TOTALWORK OPNAME
---------- ---------- ---------- ---------- --------------------
       145        225         47         61 DATAPUMP

SQL> /

       SID    SERIAL#      SOFAR  TOTALWORK OPNAME
---------- ---------- ---------- ---------- --------------------
       145        225         53         61 DATAPUMP



------





시나리오
users 테이블 스페이스 export


1. 디렉토리 객체 생성
2. 사용자 권한 부여 (생략)
3. users 테이블 스페이스 export



--
SQL> create directory mydir as '/data/expdp';

Directory created.

-- OS
$ expdp system/oracle directory=mydir tablespaces=users dumpfile=users.dmp

Export: Release 10.2.0.1.0 - Production on Tuesday, 03 April, 2012 21:22:45

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Produc                                                                                        tion
With the Partitioning, OLAP and Data Mining options
Starting "SYSTEM"."SYS_EXPORT_TABLESPACE_01":  system/******** directory=mydir t                                                                                        ablespaces=users dumpfile=users.dmp
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
ORA-39139: Data Pump does not support XMLSchema objects. TABLE_DATA:"OE"."PURCHA                                                                                        SEORDER" will be skipped.
Total estimation using BLOCKS method: 1.062 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/RLS_POLICY
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "OE"."LINEITEM_TABLE"                       283.5 KB    2232 rows
. . exported "OE"."ACTION_TABLE"                         14.88 KB     132 rows
. . exported "OE"."CATEGORIES_TAB"                       13.12 KB      22 rows
. . exported "OE"."PRODUCT_REF_LIST_NESTEDTAB"           12.32 KB     288 rows
. . exported "OE"."SUBCATEGORY_REF_LIST_NESTEDTAB"       6.406 KB      21 rows
. . exported "SCOTT"."DEPT"                              5.656 KB       4 rows
. . exported "SCOTT"."EMP"                               7.820 KB      14 rows
. . exported "SCOTT"."SALGRADE"                          5.585 KB       5 rows
. . exported "SCOTT"."T"                                 12.61 KB    1000 rows
. . exported "SCOTT"."BONUS"                                 0 KB       0 rows
Master table "SYSTEM"."SYS_EXPORT_TABLESPACE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TABLESPACE_01 is:
  /data/expdp/users.dmp
Job "SYSTEM"."SYS_EXPORT_TABLESPACE_01" completed with 1 error(s) at 21:23:30

-----

SCOTT 의 schema 만 Export

expdp system/oracle directory=mydir schemas=scott dumpfile=s                                                                                        cott.dmp

Export: Release 10.2.0.1.0 - Production on Tuesday, 03 April, 2012 21:40:37

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Produc                                                                                        tion
With the Partitioning, OLAP and Data Mining options
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** directory=mydir schem                                                                                        as=scott dumpfile=scott.dmp
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 256 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."DEPT"                              5.656 KB       4 rows
. . exported "SCOTT"."EMP"                               7.820 KB      14 rows
. . exported "SCOTT"."SALGRADE"                          5.585 KB       5 rows
. . exported "SCOTT"."T"                                 12.61 KB    1000 rows
. . exported "SCOTT"."BONUS"                                 0 KB       0 rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  /data/expdp/scott.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:41:36
-----