기존 exp/imp를 개선한 프로그램입니다.
기존의 export단점
1. 시간예측불가
2. 일시중지불가(중단하면 처음부터 끝까지 다시 받아야합니다.)
3. 속도가 느림
--> DATAPUMP에서는 모두 개선
datapump의 단점
* 기존 exp/imp와 호환이 안됩니다.
Datapump를 쓰기 위한 디렉토리 생성(디렉토리는 미리 만들어져 있어야합니다.)
SQL> create directory dp as '/home/oracle'; Directory created.
**이후 특정 스키마에서 해당 디렉토리를 사용하려면 권한을 줘야합니다.
grant read,write on directory 생성한디렉토리이름 to public; (아니면 to 특정스키마;)
** 어떤 디렉토리가 생성되어 있는지 보는 법
SQL> l 1* select * from dba_directories SQL> / OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- ------------------------------ ------------------------------------------------------------ SYS ORACLE_OCM_CONFIG_DIR /app/oracle/product/11g/ccr/state SYS DATA_PUMP_DIR /app/oracle/admin/testdb/dpdump/ SYS DATA_FILE_DIR /app/oracle/product/11g/demo/schema/sales_history/ SYS XMLDIR /app/oracle/product/11g/rdbms/xml SYS MEDIA_DIR /app/oracle/product/11g/demo/schema/product_media/ SYS LOG_FILE_DIR /app/oracle/product/11g/demo/schema/log/ SYS DP /home/oracle SYS SS_OE_XMLDIR /app/oracle/product/11g/demo/schema/order_entry/ SYS SUBDIR /app/oracle/product/11g/demo/schema/order_entry//2002/Sep 9 rows selected.
expdp 옵션(expdp -help)
옵션 |
의미 |
Directory |
덤프파일의 위치입니다.(create diretory로
생성가능) |
Dumpfile |
덤프파일의 이름 |
Filesize |
덤프파일의 크기(bytes/kilobytes/megabytes/gigabytes) |
Parfile |
옵션들이 적혀져있는 파라미터파일을 이용 parfile=exp.par형식 |
Logfile/nologfile |
안 적어주면, export.log파일로 자동저장됩니다. Log file생성하지 않으려면 nologfile |
Exclude/include |
원하는 오브젝트만 선택할 때 설정 Exclude는 제외, include는 포함 (expdp exclude=table:\"\=\'TEST\'\")
형식으로 사용 |
Query |
특정 조건에 맞는 query만 expdp |
Status |
Status=10으로 설정시, 10초마다 작업내용을 출력합니다. 지정하지 않을시, 0초로 설정(실시간) |
Job_name |
해당 expdp작업의 이름을 지정합니다. (나중에 일시중지하고 다시 job_name으로 중지를 해제하고 계속 진행할 수도 있고, job_name으로
강제종료할 수도 있습니다.) |
Parallel |
expdp수행시 사용할 프로세스의 개수를 지정합니다. |
Attach |
일시중단된 작업에 다시 어떤 행동을 할 것인지 사용하는 파라미터입니다. |
Attach 모드옵션 |
|
Kill_job |
해당 작업을 완전히 삭제(중단)합니다. (작동안될시 해당
user로 로그인 후 해당job_name의 테이블을 drop하면됩니다.) |
Start_job |
중단된 작업을 다시 시작할 때 사용합니다. |
Status |
현재 작업상태를 모니터링하는 갱신시간을 지정합니다.(시간
지정안할 시 한번 출력해줍니다) |
Stop_job |
현재 작업을 일시중시시킵니다.(나중에 start_job으로 시작할 수 있습니다.) |
Continue_client |
화면의 메시지를 계속 출력합니다. (start_job을
입력하게 되면, 실행은 되고있는데 현재 상황이 출력은 안되는데, 이때 continue_client를 입력하시면 됩니다.) |
옵션 |
의미 |
directory |
Expdp와 동일 |
Include/exclude |
자기가 원하는 자료만 골라서 import할 때 사용합니다. (impdp
include=table:\"\=\'emp\'\")
emp table만 import |
Table_exists_action |
Table이 존재할 때 어떻게 할 것인가에 대한 옵션입니다. |
|
=skip : default =append : 기존 내용에 데이터를 추가합니다. (imp 때 ignore=y썻을 때 action과 동일) =truncate : 테이블의 자료를 삭제 후 데이터를
넣습니다. |
Remap_schema |
Imp의 fromuser,
touser와 동일합니다. Impdp system/oracle schemas=scott
remap_schema=scott:hr |
Remap_tablespace |
기존 tbs에서 다른 tbs로 바꿀 때 사용합니다. Remap_tablespace='users':'example'
형식 |
[oracle@server15 ~]$ expdp full=y directory=dp dumpfile=fulldb.dmpdp
Export: Release 11.2.0.2.0 - Production on Sat Feb 18 23:34:19 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Username: system/oracle Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Starting "SYSTEM"."SYS_EXPORT_FULL_01": system/******** full=y directory=dp dumpfile=fulldb.dmpdp Estimate in progress using BLOCKS method... Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA ...생략... . . exported "SYSTEM"."REPCAT$_TEMPLATE_REFGROUPS" 0 KB 0 rows . . exported "SYSTEM"."REPCAT$_TEMPLATE_SITES" 0 KB 0 rows . . exported "SYSTEM"."REPCAT$_TEMPLATE_TARGETS" 0 KB 0 rows . . exported "SYSTEM"."REPCAT$_USER_AUTHORIZATIONS" 0 KB 0 rows . . exported "SYSTEM"."REPCAT$_USER_PARM_VALUES" 0 KB 0 rows . . exported "SYSTEM"."SQLPLUS_PRODUCT_PROFILE" 0 KB 0 rows Master table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded ****************************************************************************** Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is: /home/oracle/fulldb.dmpdp Job "SYSTEM"."SYS_EXPORT_FULL_01" completed with 1 error(s) at 23:40:21
예시2 : 위 fulldb.dmpdp를 이용해서 HR schema만 impdp하기
[oracle@server15 ~]$ impdp directory=dp dumpfile=fulldb.dmpdp include=SCHEMA:\"\=\'HR\'\"
Import: Release 11.2.0.2.0 - Production on Sat Feb 18 23:58:18 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Username: system/oracle Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORA-31655: no data or metadata objects selected for job Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=dp dumpfile=fulldb.dmpdp include=schema:"='scott'" Job "SYSTEM"."SYS_IMPORT_FULL_01" successfully completed at 23:58:30 [oracle@server15 ~]$ impdp directory=dp dumpfile=fulldb.dmpdp include=SCHEMA:"='HR'" LRM-00116: syntax error at 'SCHEMA:' following '=' [oracle@server15 ~]$ impdp directory=dp dumpfile=fulldb.dmpdp include=SCHEMA:\"\=\'HR\'\" Import: Release 11.2.0.2.0 - Production on Sat Feb 18 23:59:26 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Username: system/oracle Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=dp dumpfile=fulldb.dmpdp include=SCHEMA:"='HR'" Processing object type DATABASE_EXPORT/SCHEMA/USER ORA-31684: Object type USER:"HR" already exists Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE Processing object type DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE ....생략.... Processing object type DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINT Processing object type DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TRIGGER Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 14 error(s) at 23:59:42
여러 예시들
http://dinggur.tistory.com/167
'Oracle > 백업&복구' 카테고리의 다른 글
백업&복구 11번째 (DBLink) ; DBLink, Oracle Network (0) | 2012.02.19 |
---|---|
백업&복구 10번째(cloneDB를 이용한 무정지자료복구) (0) | 2012.02.19 |
백업&복구 8번째(export, import) (0) | 2012.02.18 |
Expdp 연습(datapump) ; tablespace export,import datapump 하기 (0) | 2012.02.16 |
2012.02.15 drop user복구(DBlink, CloneDB이용), logmnr에서 삭제된 유저의 쿼리찾기관련(글의 마지막참조) (0) | 2012.02.15 |