반응형

1. 오라클 10g 의 신기능 Data Pump 의 소개

1) 개요

DB에 있는 데이터를 운영체제의 파일시스템으로 내보내는 과정을 export 라 하고, 반대로 파일 시스템을 DataBase로 들여오는 것을 Import 라고 한다. 기존의 방식을 Export/Import 라고 하고

오라클 10g에서는 이를 Data Pump 라고 통칭한다.

오라클 Data Pump는 export/import에 대한 강력한 기능들을 추가한 Utility 이다.

 

[ Data Pump 사용시  주의사항]

export/import 와 Data Pump는 서로 호화되지 않습니다.

즉 Export 유틸리티를 이용하여 백업 받은 파일은 Data Pump를 통해 Import 할 수 없으며, 마찬가지로

Data Pump 를 통해 export 된 데이터는 Import 유틸리티를 통해 Import 할 수 없습니다.

 

2) Data Pump export/Import 의 이점

JOB 콘트롤 기능 : Interactive mode를 통하여 Data Pump작업을 통제 할 수 있습니다. 작업을

                                중단시키고 재 시작할 수 있으며 동적으로 dump file을 할당 할 수 있습니다.

                                에러가 나더라도 작업이 중지될 뿐 언제든지 원인을 수정하고 재수행 할 수

                                있습니다.

병렬수행지원 : Parallel 파라미터를 이용하여 프로세스의 Data Pump 작업의 프로세스를 병렬화

                          할 수 있습니다. 병렬화 된 프로세스는 여러개의 데이터 파일에 각각 데이터를

                          쓰거나 여러개의 데이터 파일로 부터 데이터를 읽어 데이터베이스에 저장합니다.

                          병렬수행이 가능함으로 이전 보다 훨씬 강력한 기능을 제공합니다.

작업에 필요한 디스크 공간을 미리 예상 : Estimate 파라미터를 이용하여 작업 시작전에 필요한

                          물리적인 공간을 미리 예측 할 수 있다.

원격지 수행 : DB Link 를 통하여 원격지 데이터에 대한 Data Pump export/import 를 수행 할 수

                      있다

Remapping 지원 : 유저 스키마, 테이블스페이스, 데이터파일 등과 같은 정보들이 Data Pump

                                export/import 시에 변경 할 수 있습니다. 이러한 기능은 데이터 마이그레이션

                                시에 보다 많은 유연성을 제공하는데 큰 역활을 합니다

 

3) Data Access 방법

Direct-path : Direct I/O를 사용하여 OS영역의 메모리를 사용하지 않고 데이터 파일에 direct로

                        쓰게 되는 방법입니다. 메모리 사용이 적고 속도가 빠르며, 데이터 컨버전에 시간이

                        걸리지 않습니다.

[ Direct-path 가 되지 않는 경우 ]

- 클러스터 테이블인 경우

- 테이블에 활성화된 트리거가 존재할 경우

- 글로벌 인덱스를 가진 테이블이 하나의 파티션에 존재 할 경우

- LOB컬럼에 있는 도메인 인덱스

- insert 모드에서 fine_grained access control 이 enable인 경우

- BFILE을 가진 테이블인 경우

 

External Tables : 메타 데이터를 데이터베이스 내에 저장하고 데이터는 파일시스템 존재하게

                       만들어 데이터를 저장하는 방법이며 대용량 데이터를 export/import 할때

                       사용합니다.

 

[ External Table이란? ]

- Create TABLE ~~ ORGANIZATION EXTERNAL 문을 통해 만들어진 테이블

- 실질적인 데이터베이스 내에 존재하는 것이 아니라 물리적 디스크 공간에 논리적 공간을 할당 받아 데이터를 저장하며, 파일 형태로 존재합니다.

- 저장되는 데이터는 READ ONLY 데이터이며 인덱스를 생성할 수 없습니다.

- DML 작업을 수행 할 수 없습니다.

- META-DATA in DATABASE, DATA in OS라고 압축 설명 할 수있습니다.

 

3) Data Pump 의 권한설정

- 시스템에 설정된 EXP_FULL_DATABASE, IMP_FULL_DATABASE 롤을 부여함으로써 가능함

   (1) 사용자 생성 : create 문을 사용하여 사용자를 생성합니다. 패스워드는 imsi00 으로 하며,

        default tablespace는 USERS 테이블스페이스로 합니다.

        create user zoom identified by imsi00

        default tablespace users

        temporary tablespace temp

        /

   (2) 권한부여 : grant 문을 이용하여 zoom 유저에 접속(connect) 과 자원사용(resource) 에

        대한 권한을 부여한다

        grant connect, resource to zoom;

   (3) 모든 테이블에 대한 select 권한부여

        grant select any table to zoom;

   (4) zoom유저에 EXP_FULL_DATABASE, IMP_FULL_DATABASE 권한 부여

        grant EXP_FULL_DATABASE, IMP_FULL_DATABASE to zoom;

 

4) Data Pump 파일 오브젝트

4-1) Data Pump 가 사용하는 파일의 종류

■ Dump File : 테이블로 부터 데이터 또는 메터 데이터를 로드하여 저장된 파일

■ Log File : Data Pump 작업 중에 발생하는 메시지나 결과를 기록하는 파일

■ SQL File : Data Pump는 SQLFILE 이라는 옵션을 사용합니다. 이옵션을 사용 할 경우

                  Data Pump Import 작업이 수행되는 동안 DDL문을 수행 할 수있게 해줍니다

 

4-2) Data Pump 디렉토리 오브젝트

Data Pump는 사용자별 디렉토리 접근 권한을 설정할 수 있다

 

디렉토리 권한설정

(1) 사용중인 디렉토리 오브젝토 조회

      SQL> select * from dba_directories;

(2) 디렉토리 오브젝트 추가

      SQL> create directory datapump_dir1 as '/temporary/ora_tmp';

(3) 디렉토리 오브젝트 권한추가(zoom 유저에게 datapump_dir1 디렉토리 read, write 권한부여)

      SQL> grant read, write on directory datapump_dir1 to zoom;

(4) Export Pump 실행

     $expdp zoom/imsi00 directory=datapump_dir1 Tables=EMP dumpfile=zoom_dump01.dmp

 

* Data Dump 시 마다 디렉토리 오브젝트를 추가하지 않고 묵시적으로 추가

$DATA_DUMP_DIR=datapump_dir1;

$export DATA_DUMP_DIR;

 

2. Data Pump Export

1) Data Pump Export 사용하기

Command-line 이용하기

   $expdp zoom/imsi00 directory=datapump_dir1 Tables=EMP dumpfile=zoom_dump01.dmp

    - 비교적 작은 수의 옵션들이 사용되거나 간단한 구문일 때 사용합니다

    - 복잡하고 옵션이 많게 되면 수정하거나 잘못 타이핑 할때 시간이 많이 걸리게 됩니다

파라미터 파일 이용하기

    zoom.par 파일을 생성하여 다음과 같이 설정합니다

    SCHEMAS = SCOTT

    DIRECTORY=datapump_dir

    DUMPFILE=zoom01.dmp

    LOGFILE=zoom_dump.log

   

    $expdp zoom/imsi00 PARFILE=zoom.par

 

2) Data Pump Export 모드

Full Export 모드 : Full 파라미터를 사용합니다. 데이터베이스 전체를 export 받을 수 있습니다.

                            한가지 주의 할 점은 EXPORT_FULL_DATABASE 롤이 Full Export 받고자 하는

                            사용자에게 부여되어 있어야 한다는 점입니다

스키마 모드 : Schemas 파라미터를 사용합니다.

                           하나의 유저가 소유하고 있는 데이터 및 오브젝트 전체를 export 받고자 할때

                          사용할 수있는 모드입니다.

테이블스페이스 모드 : TableSpace 파라메터를 사용합니다. 하나 이상의 테이블스페이스에

                           대해 해당 테이블스페이스에 속한 모든 테이블을 받을 수 있습니다.

                           만약 TRANSPORT_TABLESPACES 파라미터를 이용한다면, 테이블 뿐 아니라

                           테이블스페이스의 메터데이터 까지 export 받게 되어 다른 서버에 dump 파일을

                           카피 한 후 import 하게 되면 테이블스페이스 및 테이블이 자동으로 생성됩니다.

테이블 모드 : TABLES 파라미터를 사용합니다.

                       하나 이상의 테이블을 export 받을 때 사용합니다

 

 

3) Data Pump Export 파라미터

파일 및 디렉토리 관련 파라미터

- DIRECTORY : 디렉토리 오브젝트를 참조하는 DIRECTORY 파라미터를 이용하여 덤프파일의

                      위치 및 로그파일의 위치를 지정 할 수 있습니다.

                      DIRECTORY=directory_object_name 형식으로 사용 할 수있습니다.

- DUMPFILE : Export를 받아 파일시스템에 저장될 덤프파일의 이름을 지정하는 파라미터이빈다.

                    파라메터를 사용할때 다음을 기억하시고 사용하시면 됩니다.

                    + %U 를 사용하여  여러개의 덤프 파일을 구분 할 수 있습니다

                       DUMPFILE=ZOOM_DUMO_%U.DMP라고 파라메터를 정의합니다.  만약 덤프

                       파일이 10개가 생성된다고 가정하면 ZOOM_DUMO_01.dmp 부터

                       ZOOM_DUMO_10.dmp 까지 %U 부분이 자동 증가하여 파일을 구분하여 줍니다.

                       %U의 범위는 01 ~ 99 까지 입니다

                   + ',' 를 이용하여 여러개의 파일명을 구분할 수 있습니다.

                      예를들어 다음과 같이

                      DUMPFILE=ZOOM_DUMO_01.dmp, ZOOM_DUMO_02.dmp,ZOOM_DUMO_03.dmp

                   + 만약 DUMPFILE 파라메터를 지정하지 않는다면 expdat.dmp 라는 파일명으로

                      오라클이 자동 선언하게 됩니다.                 

- FILESIZE  : export 받는 1개 파일의 최대크기를 지정하는 파라미터 입니다.

                   만약 export 받을 총 데이터량이 10GB이고 FILESIZE를 1GB로 지정하였다면 1GB

                   크기의 dump file이 10개 만들어 지게 됩니다.

                   FILESIZE=N [ BYTES | KILOBYTES | MEGABYTES | GIGABYTES ] 입니다.

- PARFILE : 파일에 파라메터들을 저장해 두고 Data Pump를 이용할때 마다 참조하여 작업을

                 수행하고 싶을때 PARFILE 파라메터를 사용할 수 있습니다

                  PARFILE=filename.par 형식으로 사용할 수 있으며, 파일 확장자는 아무런 영향을

                  미치지 않습니다

- LOGFILE & NOLOGFILE : 로그 파일명을 지정하는 파라메터 입니다

                  LOGFILE=logfile_name 형식으로 사용 하시면 됩니다. 파라미터를 설정하지 않는다면

                  export.log 라는 파일명으로 로그가 자동으로 실행한 위치의 디렉토리에 남게 됩니다.

                  로그파일을 남기고 싶지 않을때는 NOLOGFILE 파라미터를 사용하시면 됩니다.

- COMPRESSION : 오라클에서 EXPORT 시에 메타데이터는 압축을 하여 파일에 저장하게 됩니다.

                  COMPRESSION 파라메터를 사용하지 않을 경우에는 덤프파일 내에 메타데이터가

                  압축되어 보관됩니다.

                  COMPRESSION 파라메터에는 METADATA_ONLY, NONE 두개의 옵션이 있으며,

                  METADATA_ONLY는 파라메터를 사용하지 않으면 디폴트로 인식되는 옵션입니다.

                  COMPRESSION=option_name 으로 사용하면 됩니다.

                  #expdp zoom/imsi00 DIRECTORY=/oracle/expdir DUMPFILE=dump.dmp

                                                COMPRESSION=NONE

 

Export 모드 관련 파라미터

- FULL

- SCHEMAS

- TABLES

- TABLESPACES

- TRANSPORT_FULL_CHECK : TRANSPORT_FULL_CHECK 파라메터는 export 작업 시에

                          테이블스페이스 내에 존재하는 테이블과 인덱스의 의존선을 검사 할 것인지

                          하지 않을 것인지를 설정하는 파라미터로 'Y' 또는 'N' 두개이 값만을 허용하는

                          파라메터 입니다.

(1) 'Y' 일 경우, TABLESPACE 내에 테이블만 있고, 인덱스가 없다면 작업은 실패한다.

      반드시 INDEX도 같은 테이블스페이스내에 존재 해야 합니다.

(2) 'Y' 일 경우, TABLESPACE내에 인덱스만 존재하고 테이블이 없다면 작업은 실패합니다.

       반드시 TABLE 또한 존재해야 합니다

(3) 'N' 일 경우, TABLESPACE내에 테이블만 있고 인덱스가 없다면 작업은 성공합니다.

(4) 'N' 일 경우, TABLESPACE내에 인덱스만 있고 테이블이 없다면 작업은 성공합니다.

 

Export 필터링 관련 파라미터

- CONTENT : 3개의 옵션을 가질 수 있으며 옵션들은 다음과 같습니다

 

   + ALL : 테이블과 메터데이터를 포함한 모든것을 포함시키겠다는 옵션

      # expdp zoom/imsi00 DUMPFILE=datadump.dmp CONTENT=ALL

 

   + DATA_ONLY : 테이블 데이터만 포함 시키겠다는 옵션

     #  expdp zoom/imsi00 DUMPFILE=datadump.dmp CONTENT=DATA_ONLY

 

   + METADATA_ONLY : 메타데이터 만을 포함하겠다는 옵션

     #  expdp zoom/imsi00 DUMPFILE=datadump.dmp CONTENT=METADATA_ONLY

 

- EXCLUDE & INCLUDE : 원하는 오브젝트를 선택하여 받을 수 있습니다.

                                     오라클에서 오브젝트란 유저스키마, 테이블, 인덱스, 프로시져 등을

                                     통칭해서 오브젝트라고 부릅니다.

                                     [exclude | include]=object_name 조건 형식으로 사용 할 수 있음

                                     파라미터 사용방법은 아래와 같습니다.

        + SCOTT 유저와 관련된 모든것을 export 받고 싶은데, BONUS 테이블은 제외하고 받고

          싶은 경우

          #expdp zoom/imsi00 dumfile=ex_dump.dmp schemas=scott exclude=TABLE:"='BONUS'"

 

        + SCOTT 유저와 관련된 모든것을 export 받고 싶은데 EMP 테이블의 인덱스는 받고

          싶지 않은경우

         #expdp zoom/imsi00 dumfile=ex_dump.dmp schemas=scott exclude=INDEX:\"='EMP%'\"

         

- QUERY : 테이블 내에 있는 데이터 중 특정 조건에 만족하는 데이터만을 export 받고자 할때

                사용하는 파라메터 입니다.

                사용방법은 다음과 같습니다

                QUERY=SCHEMA.TABLE:"조건" 이며 다음과  같은 예입니다.

                # expdp zoom/imsi00 dumpfile=ex_dump.dmp table=emp

                                               QUERY=SCOTT.EMP:'where sal > 1200'

- SAMPLE : 오라클 10g에서 새롭게 지원하는 기능 중 하나로써 테이블의 데이터를 export 할때

                  퍼센트를 정하여 지정된 퍼센트 만큼의 데이터를 샘플링해서 뽑을때 사용하는

                  옵션입니다

               # expdp zoom/imsi00 DIRECTORY=datadump_dir1 DUMPFILE=ex_dump.dmp

                                              SAMPLE=scott.emp:20

                  //scott 유저의 EMP테이블의 데이터중 20%만을 export 하게 됩니다

                     입력 가능한 퍼센트의 범위는 0.000001 ~ 100 까지 입니다.

 

네트워크 링크 파라미터

- 원격지 데이터베이스에 있는 데이터에 접근하여 로컬 데이터베이스 머신에 export 된 덤프파일을

   저장하고자 할때 사용하는 파라메터

- 먼저, 원격지 데이터베이스의 테이블에 대한 DB_LINK 를 만들어 놓아야 함

  # expdp zoom/imsi00 DIRECTORY=datadump_dir1 DUMPFILE=ex_dump.dmp

                                 NETWORK_LINK=EMP@link_b_scott LOGFILE=datapump.log

 

암호화 관련 파라미터

- export 되는 데이터 중 일부 컬럼이 암호화 되어 있고, 중요한 데이터 일 경우 사용하는 파라미터

- export 시에 암호를 설정하여 export된 데이터가 위변조 되지 못하게 설정할 수 있음

  # expdp zoom/imsi00 TABLES=EMP DUMPFILE=ex_dump.dmp

                                 ENCRYPTION_PASSWORD=******

 

JOB관련 파라미터

- JOB : JOB파라미터를 설정하면 Data Dump 작업을 오라클에서 자동 할당하지 않고

           JOB파라메터에서 주어진 이름으로 등록 되게 됩니다. 작업 마스터 테이블에 작업명이

           등록되어 작업에 대한 정보들을 JOB 파라미터에 등록된 이름으로 조회 할 수있습니다.

- STATUS : STATUS파라미터는 Data Pump Export 시에 작업의 갱신 된 내용을 STATUS에

                 설정된 크기의 시간 간격으로 진행상태를 보고 받고자 할때 사용하는 파라메터 입니다.

                 STATUS = 30 이면 30초 간격으로 작업결과를 갱신하여 보여주게 됩니다.

                 만약 이 파라미터를 설정하지 않으면 디폴트는 0입니다. 디폴트로 설정하게 되면

                 거의 실시간으로 작업정보를 보여주게 됩니다.

- FLASHBACK_SCN : System Change Number(SCN) 은 시스템의 테이블이나 오브젝트가

                변경되었을때 변경되는 SCN값을 가집니다. FLASHBACK_SCN 파라메터를 이용하여

                SCN 값을 지정할 경우에 파라미터에서 설정한 SCN 기준 이전까지의상태를 받게 됩니다

                # expdp zoom/imsi00 DIRECTORY=datadump_dir DUMPFILE=ex_dump.dmp

                                               FLASHBACK_SCN=120001

- FLASHBACK_TIME : FLASHBACK_TIME은 번호 대신 시간값을 가집니다.

                FLASHBACK_TIME 파라미터를 사용하면 파라미터에 지정된 시간까지의 변경

                사항만을 Export 합니다.FLASHBACK_TIME 의 값은 TIMESTAMP 형식의 값을 가지며

                TO_TIMESTAMP 함수를 사용하여 설정 할 수 있습니다.

- PARALLEL : PARALLEL 파라메터를 사용할 경우 export 작업 시에 프로세스를 설정된

                숫자만큼 만들어 수행함으로써 작업의 속도를 향상 시킬 수 있습니다. 디폴트 값은 1로

                설정되어 있으며 주의할점은 parallel 이 지정된 갯수 만틈의 dumpfile 을 지정해 주어야

                한다. 앞서 본 %U를 사용하면 지정된 갯수만큼 자동으로 파일을 만들어 줍니다

                # expdp zoom/imsi00 DIRECTORY=datadump_dir DUMPFILE=ex_dump%U.dmp

                                               PARALLEL=3

                위와 같이 설정하게되면 ex_dump01.dmp, ex_dump02.dmp, ex_dump03.dmp 3개의

                덤프파일이 생성됩니다.

                # expdp zoom/imsi00 DIRECTORY=datadump_dir

                  DUMPFILE=(ex_dump01.dmp, ex_dump02.dmp, ex_dump03.dmp) PARALLEL=3

                 위와 같이 %U를 사용하지 않고, 사용자가 직접 3개의 파일명을 ',' 구분하여 입력해도

                 상관 없습니다.

- ATTACH : ATTACH 파라미터를 이용하여 interactive mode 로 들어 갈 수 있습니다.

                 오라클에서는 작업을 제어하고 모니터링 하기 위해 interactive mode를 제공합니다.

                 interactive mode로 들어가는 방법은 두가지가 있으며 다음과 같습니다.

                 + Crtl + C 를 누름으로써 들어가는 방법

                   # expdp zoom/imsi00 directory=datadump_dir  table=scott.emp

                                                 dumpfile=datadump.dmp logfile=datapump.log

                                                 jobname=myjob            

                                                작업로그.....

                                                .................==> 작업에 대한 로그가 떨어졌을때 Crtl + C

                   export>                  ==> 이와 같이 프롬프트 상태로 떨어지게 됩니다.

                   로그가 멈춘다고 해서 작업이 중단된게 아니라 이상태에서 interactive mode 명령을

                   사용하여 작업을 모니터링 하고 제어 할 수 있습니다

                   # expdp zoom/imsi00 attach=schema.jobname 형식으로 원하는 작업의

                   interactive mode로 들어갈 수 있습니다.

                   < InterActive Mode 명령어 >            

 

3. Data Pump Import

파일 및 디렉토리 관련 파라미터
    #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott
     - directory : 디렉토리 오브젝트를 받는 파라미터
     - dumpfile : imprt 될 파일명
     - schemas : 작업 수행동안 수행될 DDL문을 저장하는 파일이름
 

필터링 관련 파라미터

- CONTENT : CONTENT 파라미터는 DATA_ONLY, METADATA_ONLY, ALL 3개의 값을 가짐

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                                CONTENT=DATA_ONLY

- INCLUDE : INCLUDE=OBJECT_NAME:"='조건'" 형식으로 사용할 수 있으며 오브젝트의

                  종류에는 앞서 본것처럼 TABLE, INDEX, PROCEDURE, FUNCTION 등이 있습니다.

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                                INCLUDE=TABLE:"='SAL'"

     ==>SCOTT 유저의 테이블을 import 하되 SAL테이블 만 포함 시키라는 옵션명령이 됩니다.

 

- EXCLUDE : EXCLUDE=OBJECT_NAME:"='조건'" 형식으로 사용할 수 있으며 오브젝트의

                  종류에는 앞서 본것처럼 TABLE, INDEX, PROCEDURE, FUNCTION 등이 있습니다.

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                                 EXCLUDE=TABLE:"='SAL'"

     ==> SCOTT 유저의 테이블을 import 하되 SAL테이블을 제외한 나머지 테이블을 import 하라는

           명령

- TABLE_EXISTS_ACTION : imprt 시에 중요한 명령입니다

                                       우리가 Data Pump를 통해 작업하게 될 경우 같은 이름의 테이블이

                                       존재할 때가 있습니다. 만약 테이블이 존재 하더라도 import 하고자 하는

                                       데이터의 row수가 다를수도 있고 같을 수도있습니다. 즉 테이블은 존재

                                       하더라고 데이터의 내용은 차이가 나는거죠.

                                       이러한 경우 사용할 수 있는 유용한 파라메터가

                                       TABLE_EXISTES_ACTION 입니다. TABLE_EXISTES_ACTION파라메터

                                       는 SKIP, APPEND, TRUNCATE, REPLACE 의 값을 가질 수 있으며

                                       각값의 의미는 다음과 같습니다.

                                       + SKIP : 같은 테이블을 만나면 지나치고, 다음 테이블을 import 합니다

                                       + APPEND : 같은 테이블을 만나면 기존테이블에 추가하여 import

                                       + TRUNCATE : 같은 테이블을 만나면 기존테이블을 truncate하고

                                                             새로운 데이터를 import

                                       + REPLACE : 같은 테이블을 만날 경우 기존 테이블을 drop 하고

                                                           테이블을 재생성 한 후 import 합니다

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                                 TABLE_EXISTS_ACTION=SKIP

 

JOB 관련 파라미터

- JOB_NAME, STATUS, PARALLEL 파라메터를 export와 같은 방법으로 사용

- PARALLEL 작업시에 dumpfile 갯수를 %U 사용하여 지정하여 주거나 명시적으로 ','를 사용하여

   PARALLEL 갯수만큼 파일을 지정해야 함

 

리맵핑 관련 파라미터

- REMAP_SCHEMA : A 유저 스키마로 export 받은 데이터를 B 유저 스키마로 import 하고자 할때

                              사용합니다.

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                                REMAP_SCHEMA=SCOTT:ZOOM

    ==> 위와 같이 수행한후 TABLE 의 OWNER 를 조회한다면 ZOOM 유저의 소유로 테이블이

          등록되었음을 확인 할 수 있다.

 

- REMAP_DATAFILE : 전체 데이터베이스 시스템을 Data Pump를 통하여 옮기고자 할때

                               Export 된 dumpfile에는 DataFile 정보까지 포함하게 됩니다. 하지만 서로다른

                              시스템 경로상에 존재하지 않는 경로이기 때문에 Import 에 실패하게 됩니다.

                              이러한 경우 사용할 수 있는 파라미터가 REMAP_DATAFILE 입니다. export 된

                              dumpfile이 datafile 정보를 포함할 경우에만 해당합니다.

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                              REMAP_DATAFILE='/db1/data/lvol01':'/db2/data/lvol01',

                                                          '/db1/data/lvol02':'/db2/data/lvol02'

 

- REMAP_TABLESPACE : export 받은 데이터 속한 tablespace 에서 다른 tablespace로

                                     remapping하고자 하는 경우 사용할 수 있는 파라메터 입니다.

   #impdp zoom/imsi00 directory=datapump_dir dumpfile=datapump.dmp schemas=scott

                              REMAP_TABLESPACE='SCOTT_TSB':'ZOOM_TSB'

 

네트워크 링크 파라미터

export 와 마찬가지로 DBLINK를 이용하여 원격지 데이터베이스에 대해 import 작업을 수행 할 수있습니다.

 

InterActive Mode 파라미터

export 와 마찬가지로 Ctrl+C를 통해 interActive Mode로 진입 할 수 있으며 작업을 통제 할 수있습니다

 

4. Data Pump 모니터링 하기

1) Data Pump 모니터링 하기 관련조회 테이블 및 VIEW

DBA_DATAPUMP_JOBS 현재 실행중인 작업의 속성들

   SQL> SELECT * FROM DBA_DATAPUMP_JODS;

            OWNER_NAME = DB작업계정

            JOB_NAME = 작업의 명칭

            JOB_MODE = FULL, TABLE, INDEX, TABLESPACE 등이 있음

            STATE = EXECUTING(수행중), DEFINING, UNDEFINING, NOT RUNNING 의 값을 가짐

PUMP Session 확인

Data Pump의 모니터링

    SQL> SELECT OPNAME, TARGET_DESC, SOFAR, TOTALWORK,

             (SOFAR/TOTALWORK*100) PER

              FROM V$SESSION_LONGOPS; 로 조회하면 Data Pump 의 모니터링을 할 수 있습니다

              OPNAME = JOBNAME 과 같음

              TOTALWORK = 총 수행하여야 할 용량을 가리키며, 단위는 Megabytes

              SOFAR = 현재 수행한 용량을 가리키며 단위는 Megabytes

              TARGET_DESC = 작업의 종류를 말함

                                       import/export  값이 될 수 있음

 

출처 : http://cafe.naver.com/ocmkorea.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1388

반응형

'Database > ORACLE' 카테고리의 다른 글

Oracle SID error  (0) 2010.02.09
rman Tool  (0) 2010.02.01
Grant 관련 상세 설명  (0) 2010.01.25
`BIN$+......==$0` 알수 없는 테이블..  (0) 2010.01.14
sqlplus 환경 설정  (0) 2010.01.08
반응형

imp userid/passwd file=/dmp/file.dmp tables=table_name1,table_name2, ... , table_nameN fromuser=abc touser=new_abc

imp userid(오라클 id)/passwd(오라클 id의 사용암호) file=(exp를 통해 백업받은 덤프 파일) tables=덤프파일내에 있는 테이블중 입력시킬 테이블들 fromuser=(dmp를 받았던 계정) touser=(입력시킬 계정)


매개 변수

  - userid : IMPORT를 실행시키는 계정의 사용자이름/암호명

  - buffer : 행 데이터를 가지고 오는데 사용되는 Buffer의 Bytes 값

  - file : Import(입력)시킬 파일명

  - show : dmp 파일 내용이 화면에 표시되는 여부를 선택
               선택 값 : Y/N

  - ignore : IMPORT중 CREATE명령을 실행시 에러가 발생하면 무시할 것인지 선택
                선택 값 : Y/N

  - indexes : 테이블 INDEX의 IMPORT여부 선택

                 선택 값 : Y/N

  - rows : 테이블 데이터를 IMPORT할 것인가 여부 선택

              선택 값 : Y/N 

              만약 "N"로 설정하면 데이터베이스 객체들에 대한 DDL만이 실행

  - full : FULL엑스포트 덤프 파일이 IMPORT 할때 사용

            선택 값 : Y/N

  - tables : IMPORT될 테이블 리스트

  - commit : 배열(배열의 크기는 BUFFER에 의해 설정됩니다) 단위로 COMMIT을 할것인가 결정
                 기본적으로는 테이블 단위로 COMMIT

  - fromuser : EXPORT덤프 파일로 부터 읽혀져야 하는 객체들을 갖고 있는 테이터베이스 계정

  - touser : EXPORT덤프 안에 있는 객체들이 IMPORT될 데이터베이스 계정

반응형

'Database > ORACLE' 카테고리의 다른 글

ORA-01659 해결방법  (1) 2009.03.07
ORA-12541 오류 대처 방법  (0) 2009.03.07
오라클 EXP 사용하기  (0) 2009.03.07
오라클 강제 제거하는 방법  (0) 2009.03.07
오라클 설치시 발생할수 있는 오류 해결방법  (0) 2009.03.07

+ Recent posts