Oracle/백업&복구

백업&복구 9번째(datapump)

에몽이ㅋ 2012. 2. 19. 00:03
10g부터 나온 Feature입니다.

기존 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를 입력하시면 됩니다.)

 

impdp 옵션(impdp -help)

옵션

의미

directory

Expdp와 동일

Include/exclude

자기가 원하는 자료만 골라서 import할 때 사용합니다.

(impdp include=table:\"\=\'emp\'\")  emp tableimport

Table_exists_action

Table이 존재할 때 어떻게 할 것인가에 대한 옵션입니다.

 

=skip : default

=append : 기존 내용에 데이터를 추가합니다.

(imp ignore=y썻을 때 action과 동일)

=truncate : 테이블의 자료를 삭제 후 데이터를 넣습니다.

Remap_schema

Impfromuser, touser와 동일합니다.

Impdp system/oracle schemas=scott  remap_schema=scott:hr

Remap_tablespace

기존 tbs에서 다른 tbs로 바꿀 때 사용합니다.

Remap_tablespace='users':'example' 형식

 

예시1 : full database를 expdp
[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