'ORACLE/Backup & Recovery'에 해당되는 글 22건

  1. 2006.05.09 오라클(oracle) 백업(exp), 복구(imp) 하기
  2. 2006.04.05 오라클 OCP 익스포트/임포트 | Oracle 백업&복구
ORACLE/Backup & Recovery2006. 5. 9. 19:58
반응형

Export / Import 이용한 백업과 복구 | 오라클 2005/12/28 10:12 
 
http://blog.naver.com/active9819/40020684261
 
Export와 Import는 가장 유용하게 그리고 자주 사용되는 백업관련 DBA ToolKit 입니다.


SQL*Loader는 외부 데이터를 오라클 서버로 업로드 하는 역할을 수행 하지만 Export/Import는 오라클 서버의 데이터를 다른 오라클 서버(이때 플랫폼과는 무관하다. 예를 들어 윈도우용 오라클에서 Export 받은 파일을 Unix/Linux 서버 기반의 오라클로 Import 하는것이 가능하다) 또는 같은 서버의 다른 사용자로 Import 하는 것이 가능 하다.
먼저 Export부터 그 사용법에 대해 알아 보기로 하자.

1. Export
- EXport는 데이터베이스의 논리적인 백업을 제공 한다. 즉 테이블, 데이블스페이스, 데이터를 포함한 사용자, 그리고 사용자가 만든 스키마 오브젝트(Index, View, Synonym, Trigger, DataBase Link, sequence, stored code 등등)등을 백업 받을 수 있는 것이다.

- Export 유틸리티의 Output은 export dump 파일 이다. 이 파일은 import Utility를 통해 읽혀져 다른 데이터베이스등으로 복구 되는 것이다.

- Export 파라미터
  많은 파라미터중 UserID라는 파라미터는 꼭 가져야 한다는 것을 기억 하자. Exp 명령 입력하고  아무 파라미터도 주지 않는 경우 기본(Default) 값을 제공하면서 입력을 위한 프롬프트를 보여준다.(이때 사용자 ID와 ORD)는 반드시 입력해야 한다.

  USERID : username/password를 값으로 입력 한다. 반드시 입력해야 한다. 만약 전체 데이터베이스를 백업 받기 위해 서는 기술된 User는 명시적으로 exportfull database 롤(Role)을 부여 받아야 한다.


 

  FILE :  출력 파일의 이름(Export후 생기는 dump 파일 이름)


 

  ROWS : Export Dump 파일에 테이블 행(데이터) 포함 여부 표시: (Y)es/(N)o 만약 여러분이 테이블 구조만 export하고 실제 row data는 백업을 원하지 않는 경우에는 rows=n 이라고 명시 해야 한다.(default값은 y)


 

  Query : 테이블의 특정 부분만을 Export 하기 위해서 사용 한다.
       (exp userid=scott/tiger tables=emp query=\"where sal \> 2000 \
  ----------------------------------------- 
  Export Mode와 관련된 파라미터

  FULL : DataBase 레벨의 Export를 수행할지 여부를 표시, 전체 데이터베이스 익스포트 여부를 표시: (Y)es/(N)o
            (exp userid=system/manager full=y)


 

  OWNER : Schema Level의 EXport를 수행 할지의 여부를 표시 Export를 원하는 사용자이름을 기술 한다.
               (exp userid=system/manager owner=(scott)
  TABLES : export할 테이블 테이블 리스트 또는 (Y)es/(N)o
                 (exp userid=system/manager tables=(emp, dept, salgrade)
                 (exp userid=system/manager tables=(scott.emp%)
  TABLESPACE : export를 원하는 테이블스페이스(TableSpace)를 기술
               (exp yserid=system/manager tablespaces = (users) )
  -----------------------------------------------------------------------------               
  INDEXES, CONSTRAINTS, GRANTS, TRIGGERS : Index, Constraints, grant, 
                 triggers등을 export할지의 여부를 지정 (Y)es/(N)o, 기본적으로 앞 4개의 스
                 키마 오브젝트는 Export 됨
                 (exp userid=scott/tiger indexes=n constraints=n grants=n triggers=n)
 
  DIRECT : Direct 모드 익스포트 유무 (Y)es/(N)o 
  INCTYPE :  익스포트 레벨 유형
  PARFILE :  파라미터가 명시된 파일의 이름, Export인자들이 많을 경우 별도의 파일로
                  서 관리 가능
  HELP :  대화식 모드에서 익스포트 파라미터 디스플레이 (Y)
  LOG : 로깅 메시지를 위한 파일이름을 기술 한다.
  CONSISTENT : 익스포트 동안 데이터 갱신시 데이터베이스의 읽기 일관성 뷰 제공 
                        유무: (Y)es/(N)o
  BUFFER : 바이트로된 데이터 버퍼 크기: (정수)
  COMPRESS : 하나의 익스텐트(Extent)에 모든 데이터를 포함시킬지 명시, (Y)es/(N)o

  * Direct Path 익스포트 개념
     Direct Path 기능을 사용함으로써 데이터를 훨씬 더 빨리 export할 수 있다. 

   * Direct-Path 익스포트의 구조 
    export시 direct 모드의 사용은 파라미터 DIRECT=Y라고 기술함으로써 설정될 수 있다 
    Direct Path 익스포트는 인스턴스의 다른 자원들과 경쟁하지 않으며 세션에 의해 사용
    되는 private area로 데이터베이스 블록을 읽어 들인다.
    행들은 전송을 위해 Two-Task Command(TTC) 버퍼로 직접 이동되며 이 TTC 버퍼 
    내의 데 이터는 Export의 형식으로 되어 있다. 

    ---------------------------------------------------------------
    Export의 예 1 : exp 라는 명령만 입력 함으로서 대화식으로 export 처리
    ---------------------------------------------------------------
   D:\backup>exp

   Export: Release 9.2.0.1.0 - Production on 일 Jan 11 22:51:41 2004

   Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


   사용자명: scott
   암    호:

   다음에 접속됨: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
   With the Partitioning, OLAP and Oracle Data Mining options
   JServer Release 9.2.0.1.0 - Production
   배열 인출 버퍼 크기 입력: 4096 >

   엑스포트 파일: EXPDAT.DMP >

   (2)U(사용자), 또는 (3)T(테이블): (2)U >

   권한부여 엑스포트 (yes/no): yes >

   테이블 데이터 엑스포트 (yes/no): yes >

   확장 영역 압축 (yes/no): yes >

   KO16MSWIN949 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 엑스포트가 종료되
   었습니다

. 스키마 이전 단계의 객체와 작업을 엑스포트합니다\r

. SCOTT 사용자를 위해 외래 함수 라이브러리 이름을 엑스포트합니다
. PUBLIC 유형 동의어 엑스포트 중
. 전용 유형 동의어 엑스포트 중\
. SCOTT 사용자의 객체 유형 정의를 엑스포트 합니다 \r

SCOTT의 객체를 엑스포트하려고 합니다 ...
. 데이터베이스 링크 엑스포트 중
. 순차 번호 엑스포트 중
. 클러스터 정의 엑스포트 중
. SCOTT의 테이블을 엑스포트하려고 합니다 via 규정 경로...
. . 테이블   ADDRBOOK(를)을 엑스포트 중          3 행이 엑스포트됨
. . 테이블   EMP(를)을 엑스포트 중         15 행이 엑스포트됨
......
. 동의어 엑스포트 중
. 뷰 엑스포트 중
. 저장 프로시저 엑스포트 중
. 작업을 엑스포트합니다
. 참조 무결성 제약조건 엑스포트 중
. 트리거 엑스포트 중
. 인덱스유형을 엑스포팅합니다
. 비트맵, 함수, 기능과 확장 가능한 인덱스들을 엑스포트합니다
. 이후 테이블 처리를 엑스포트 중
. 구체화된 뷰 엑스포트 중
. 스냅샷 로그 엑스포트 중
. 작업 대기열을 엑스포트 중
. 리프레쉬 그룹과 자식 엑스포트 중
. 차원을 엑스포트합니다\
. 스키마 이후 단계의 객체와 작업을 엑스포트합니다\r

. 통계를 엑스포트합니다
엑스포트가 경고 없이 정상적으로 종료되었습니다.

   D:\backup>dir
    D 드라이브의 볼륨: data1
    볼륨 일련 번호: 2434-2E50

    D:\backup 디렉터리

   2004-01-11  11:07p   

          .
   2004-01-11  11:07p   
          ..
   2004-01-11  11:08p           51,200 EXPDAT.DMP <-- 이름을 안주면 이 이름으로 생성
               1개 파일          51,200 바이트
               2 디렉터리   2,185,789,440 바이트 남음

 


    ---------------------------------------------------------------
    Export의 예 2 : SCOTT 계정의 모든 오브젝트를 Export
    ---------------------------------------------------------------
   D:\backup>exp userid=scott/tiger file=scott.dmp 
   또는    D:\backup>exp userid=system/manager owner=scott file=scott.dmp

Export: Release 9.2.0.1.0 - Production on 일 Jan 11 23:24:38 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


다음에 접속됨: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
KO16MSWIN949 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 엑스포트가 종료되었습니다
\
. 스키마 이전 단계의 객체와 작업을 엑스포트합니다\r

. SCOTT 사용자를 위해 외래 함수 라이브러리 이름을 엑스포트합니다
. PUBLIC 유형 동의어 엑스포트 중
. 전용 유형 동의어 엑스포트 중\
. SCOTT 사용자의 객체 유형 정의를 엑스포트 합니다 \r

SCOTT의 객체를 엑스포트하려고 합니다 ...
. 데이터베이스 링크 엑스포트 중
. 순차 번호 엑스포트 중
. 클러스터 정의 엑스포트 중
. SCOTT의 테이블을 엑스포트하려고 합니다 via 규정 경로...
. . 테이블          ADDRBOOK(를)을 엑스포트 중          3 행이 엑스포트됨
. . 테이블          EMP(를)을 엑스포트 중         15 행이 엑스포트됨
    .......................

    엑스포트가 경고 없이 정상적으로 종료되었습니다.

   D:\backup>dir
    D 드라이브의 볼륨: data1
    볼륨 일련 번호: 2434-2E50

    D:\backup 디렉터리

   2004-01-11  11:24p     

          .
   2004-01-11  11:24p     
          ..
   2004-01-11  11:08p              51,200 EXPDAT.DMP
   2004-01-11  11:24p              51,200 scott.dmp
                  2개 파일         102,400 바이트
                  2 디렉터리   2,185,736,192 바이트 남음


    

    ---------------------------------------------------------------
    Export의 예 3 : scott 계정의 emp, dept 테이블의 구조만 Export
    ---------------------------------------------------------------
   D:\backup>exp userid=scott/tiger tables=(emp, dept) rows=n file=structure.dmp

Export: Release 9.2.0.1.0 - Production on 일 Jan 11 23:29:15 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


다음에 접속됨: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
KO16MSWIN949 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 엑스포트가 종료되었습니다

경고: 테이블 데이터(행)가 엑스포트 되지 않습니다

지정된 테이블을 엑스포트하려고 합니다 via 규정 경로...
. . 테이블                            EMP(를)을 엑스포트 중
. . 테이블                           DEPT(를)을 엑스포트 중
엑스포트가 경고 없이 정상적으로 종료되었습니다.

D:\backup>dir
D 드라이브의 볼륨: data1
볼륨 일련 번호: 2434-2E50

D:\backup 디렉터리

2004-01-11  11:29p     

          .
2004-01-11  11:29p     
          ..
2004-01-11  11:24p              51,200 scott.dmp
2004-01-11  11:29p               4,096 structure.dmp  <--------
               3개 파일          59,392 바이트
               2 디렉터리   2,185,781,248 바이트 남음

    ---------------------------------------------------------------
    Export의 예 4 : 전체 데이터베이스 백업
    ---------------------------------------------------------------
    D:\backup>exp userid=system/manager full=y file=full.dmp

    

========================Import =========================================
2. Import
   Import Utility는 Export를 통해 생성된 덤프파일을 읽어 데이터베이스 복구를 진행 
   한다. 

   파라미터

   USERID : Import를 수행 할  객체의 사용자이름/패스워드 
   FILE : 입력 파일 이름. Export를 통해 생성된 파일 
   IGNORE : Import시 테이블이나 인덱스와 같은 스키마 오브젝트는 기본적으로 만들려
                 고 시도한다. 이때 비록 비어있지만 객체가 이미 존재 한다면 존재함으로 인
                 한 생성 에러가 나타나는데 이를 무시한다는 의미 이다.(default n)
   ROWS : Import시 테이블의 Row를 임포트 할것인지의 여부를 지정
               (default y)
   TABLES : 임포트시킬 테이블(default y)
   INDEXES : 임포트시킬 인덱스(default y)
   CONSTRAINTS : Constraint들을 import할 전지의 여부를 표시(default y)
   GRANTS : GRANT들을 임포트 할건지의 여부(default y) 
   INCTYPE : 증분적 임포트 유형 명시. SYSTEM 및 RESTORE 옵션이 있음.
   PARFILE : 파라미터 명시 파일, 파라미터등이 많아 복잡한 경우에 사용 
   HELP :  대화식 모드로 익스포트 파라미터 디스플레이.
   LOG : 로그 파일명 
   INDEXFILE : Index-creation 명령을 수용할 파일 명시.
   ---------------------------------- Import Mode와 관련된 파라미터
   FULL :  전체 데이터베이스를  임포트함. 
   Schema Level에서는 fromuser, touser를 사용한다.   
       DBA이거나 import full database role을 부여 받지 않았다면 import를 수행하는 사용
       자의 스키마에서만 import를 할 수 있다. 이를 해결하기 위해 fromuser, touser를 사
       용 한다.
      - FROMUSER :  임포트시킬 객체를 포함하는 스키마 리스트.
      - TOUSERS : 사용자의 스키마가 임포트될 사용자 리스트 명시. 
   Table level에서는 tables 파라미터를 사용한다.
      - Tables : 기술된 테이블들이 임포트 된다.
    
   예) $imp userid=system/manager full=y
        $imp userid=system/manager fromuser=scott touser=test
        $imp userid=system/manager tables=(scott.emp, scott.dept)
   -----------------------------------------------------------------

   DESTROY : Import 시  Import Utility는 필요하다면 어떠한 테이블 스페이스에 대해 만
                    들 수도 있다. 만약 destroy=y이면 export dump 파일안에 같은 이름을 가
                    진 data file명이 있다면 import되는 오라클 서버에 대해서 그 파일을 
                    overwrite 한다는 것이다. (default는 n이다.)
                    ($imp userid=scott/tiger destroy=y)

 

   =========================================================================
   import 예제 1 : scott 계정을 삭제 후 export 받은 백업본을 이용해 복구하기
   =========================================================================

   ---> 아래는 SQL*Plus에서...  
   SQL> connect / as sysdba
      연결되었습니다.
   SQL> drop user scott cascade;
      사용자가 삭제되었습니다.


   ---> 아래는 명령프롬프트에서...
   D:\backup>dir
D 드라이브의 볼륨: data1
볼륨 일련 번호: 2434-2E50

D:\backup 디렉터리

2004-01-11  11:33p     

          .
2004-01-11  11:33p     
          ..
2004-01-11  11:28p               4,096 EXPDAT.DMP
2004-01-11  11:36p             548,864 full.dmp
2004-01-11  11:24p              51,200 scott.dmp
2004-01-11  11:29p               4,096 structure.dmp
               4개 파일         608,256 바이트
               2 디렉터리   2,185,232,384 바이트 남음

D:\backup>imp userid=system/manager fromuser=scott touser=scott file=scott.dmp

Import: Release 9.2.0.1.0 - Production on 월 Jan 12 00:20:59 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


다음에 접속됨: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

엑스포트 파일은 규정 경로를 거쳐 EXPORT:V09.02.00 에 의해 생성되었습니다

경고: 객체는 다른 사용자 SCOTT(이)가 엑스포트한 것입니다.

KO16MSWIN949 문자집합과 AL16UTF16 NCHAR 문자 집합에 임포트가 완성되었습니다
. SCOTT 객체를 SCOTT(으)로 임포트하는 중입니다
IMP-00003: ORACLE 오류 1435 가 발생했습니다
ORA-01435: 사용자가 존재하지 않습니다
경고와 함께 임포트가 정상 종료되었습니다.


---> 다음은 SQL*Plus에서...
SQL> create user scott identified by tiger
  2  default tablespace users
  3  temporary tablespace temp
  4  quota 100m on users;

사용자가 생성되었습니다.

SQL> grant connect, resource to scott;
권한이 부여되었습니다.

SQL> connect scott./tiger;
연결되었습니다.

SQL> select * from tab;
선택된 레코드가 없습니다.


---> 다음은 명령 프롬프트에서...
 
D:\backup>imp userid=system/manager fromuser=scott touser=scott file=scott.dmp

Import: Release 9.2.0.1.0 - Production on 월 Jan 12 00:33:32 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


다음에 접속됨: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

엑스포트 파일은 규정 경로를 거쳐 EXPORT:V09.02.00 에 의해 생성되었습니다

경고: 객체는 다른 사용자 SCOTT(이)가 엑스포트한 것입니다.

KO16MSWIN949 문자집합과 AL16UTF16 NCHAR 문자 집합에 임포트가 완성되었습니다
. SCOTT 객체를 SCOTT(으)로 임포트하는 중입니다
. . 테이블     "ADDRBOOK"(를)을 임포트 중          3 행이 임포트되었습니다.
  . 테이블     "EMP"(를)을 임포트 중                   15행이 임포트되었습니다.
  ............
  ............
  임포트가 경고 없이 정상적으로 종료되었습니다.


  SQL>  select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
ADDRBOOK                       TABLE
BONUS                             TABLE
CUSTOMER                      TABLE
CUSTOMER1                     TABLE
CUSTOMER2                     TABLE
DEPT                                TABLE
EMP                                 TABLE
EMPLOYEE                       TABLE
EMP_HISTORY                  TABLE
KOR                                 TABLE
LONGTEST                       TABLE

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
MYDEPT                        TABLE
MYEMP                         TABLE
MYTABLE                      TABLE
SALES                           TABLE
SALGRADE                     TABLE
SAWON                          TABLE
S_CUSTOMER                 TABLE
S_DEPT                          TABLE
S_EMP                           TABLE
S_IMAGE                        TABLE
S_INVENTORY                 TABLE

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
S_ITEM                         TABLE
S_LONGTEXT                 TABLE
S_ORD                          TABLE
S_PRODUCT                  TABLE
S_REGION                      TABLE
S_TITLE                         TABLE
S_WAREHOUSE              TABLE
TEST                             TABLE
TIME_TAB                      TABLE

31 개의 행이 선택되었습니다.
  

  =========================================================================
   import 예제 2 : emp Table을 삭제 후 백업본을 이용해 복구하기       
  =========================================================================
  
  --> SQL*Plus에서 ...
  SQL> connect scott/tiger
연결되었습니다.
SQL> drop table emp;
drop table emp
           *
1행에 오류:
ORA-02449: 외래 키에 의해서 참조된 테이블에 유일/기본 키입니다

SQL> drop table emp cascade constraint;
테이블이 삭제되었습니다.

SQL> select count(*) from emp;
select count(*) from emp
                     *
1행에 오류:
ORA-00942: 테이블 또는 뷰가 존재하지 않습니다

 

  --> 명령프롬프트에서 실행

  D:\backup>imp scott/tiger tables=(emp) file=scott.dmp <-- scott으로 export 받은 경우에...
D:\backup>imp userid=system/manager tables=(emp) file=scott.dmp fromuser=system
touser=scott  <-- system으로 export 받은 경우에...

Import: Release 9.2.0.1.0 - Production on 월 Jan 12 00:43:45 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


다음에 접속됨: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

엑스포트 파일은 규정 경로를 거쳐 EXPORT:V09.02.00 에 의해 생성되었습니다
KO16MSWIN949 문자집합과 AL16UTF16 NCHAR 문자 집합에 임포트가 완성되었습니다
. SCOTT 객체를 SCOTT(으)로 임포트하는 중입니다
. . 테이블                          "EMP"(를)을 임포트 중         15 행이 임포트
되었습니다
사용 가능한 제약 조건에 관해서...
임포트가 경고 없이 정상적으로 종료되었습니다.

--> SQL*Plus에서 실행
  

SQL> select count(*) from emp;

  COUNT(*)
----------
        15

반응형
Posted by [PineTree]
ORACLE/Backup & Recovery2006. 4. 5. 00:06
반응형

 

 

 

익스포트와 임포트는 exp, imp 명령으로 수행합니다. 익스포트와 임포트를 이용한 백업 방법을 보통 논리적인 백업이라고 합니다. 논리적이라는 것은 DBMS가 데이타 모델의 분류에서 실행 데이타 모델이라는 것입니다. 즉, 오라클에서 데이터 객체를 바라보는 시점인 논리적인 관점에서의 백업 (Logical Backup) 입니다. 특이한 점은 엑스포트와 임포트가 백업/복구 말고도 다른 기능을 수행한다는 것입니다.
다른 기능은 데이타베이스의 객체와 데이타를 서로 이동시키고, 또한 테이블, 인덱등을 재정장 하기 때문에 단편화(Freagmentaion)을 감소시키기에 유용하게 사용됩니다.


익스포트 옵션

USERID/PASSWORD : 사용자명과 패스워드
BUFFER            : 데이타를 읽어오는데 필요한 버퍼크기. 0으로 설정되면 한번에 한행만 읽어온다.

데이타형이 LONG인 것은 한번에 하나의 행만 읽어와야 한다.

FILE                    : 백업 파일명
GRANTS                           : 백업할 객체의 권한 백업
INDEXS               : 인덱스를 생성할 수 있는 sql문을 파일로 만들어준다.
ROWS                 : 테이블의 데이타를 백업해준다.
CONSTRAINTS    : 테이블이 가지고 잇는 제약조건 백업
COMPRESS        : 익스텐트 영역을 하나의 영역으로 압축하여 백업
FULL                   : 데이타베이스 전체 백업
OWNER               : 백업할 객체를 가지고 잇는 사용자명 정의
TABLES              : 특정 테이블을 선택하여 백업
INCTYPE             : FULL = Y일때...
COMPLETE         : 모든 테이블의 데이타를 백업

INCREMENTAL    : 최근에 백업(COMPLETE, CUMULATIVE, INCREMENTAL)한 이후의

변경된 테이블만 백업

CUMULATIVE      : 최근에 백업(COMPLETE, CUMULATIVE)한 이후의 변경된
RECORD             : SYS.INCVID, SYS.INCEXP테이블에 INCREMENTAL 익스포트 백업내용을 기록해준다.
HELP                  : 도움말
LOG                    : 지정한 파일에 로그 내용을 기록해준다.
CONSISTENT      : 백업 진행중인 테이블의 데이타가 변경중이라면 변경전의 데이타를 백업한다.
STATISTICS        : 백업하는 동안 테이블과 인덱스에 있는 통계정보를 수집해 준다.
ESTIMATE          : 전체 데이타중 일부 데이타로 통계정보를 수집
COMPUTE          : 전체 데이타로 통계 정보를 수집한다
NONE               : 통계정보를 수집하지 않는다.
DIRECT         : 데이타버퍼 캐쉬 영역을 사용하지 않고 백업하기 때문에 매우 빠르게백업할 수 있다.

객체타입, 중첩테이블, LOB, REF, VARRAY 타입에는 사용할 수 없다. 

FEEDBACK          : 백업하는 도중에 행의 수마다 점(.)을 찍는다.

익스포트에서의 백업모드는 아래의 3가지와 같으며 다음과 같은 내용이 백업됩니다..


테이블 모드
   - 테이블 생성 스크립트
   - 테이블 데이타
   - 테이블 권한
   - 인덱스
   - 제약조건
   - 트리거
(예: exp USERID = system/manager FULL = y)

 
사용자 모드
   - 테이블 생성 스크립트
   - 테이블 데이타
   - 테이블 권한
   - 인덱스
   - 제약조건
   - 트리거
   - 클러스트
   - 스냅샷
   - 저장 프로시저
   - 시노님
   - 뷰
(예: exp USERID = scott/tiger OWNER = scott)

 

 

전체 모드
   - 테이블 생성 스크립트
   - 테이블 데이타
   - 테이블 권한
   - 인덱스
   - 제약조건
   - 트리거
   - 클러스트
   - 스냅샷
   - 저장 프로시저
   - 시노님
   - 뷰
   - 프로파일
   - 롤
   - 롤백 세그먼트
   - 감사
   - 테이블스페이스 데이타
(예: exp USERID = scott/tiger TABLES = (scott.emp, yasi.test) )
  
  
임포트 옵션

USERID               : 접속할 오라클의 사용자명/패스워드 
BUFFER              : 엑스포트와 같다
FILE                    : 엑스포트와 같다
SHOW                 : Y값으로 설정되면 실제 복구 작업은 실행되지 않고 복구해야할 내역만 화면에 출력
IGONRE              : 이미 존재하는 테이블에 대해 복구작업을 실행하면 'Object already exists'라는

에러가 발생하는데 이 에러를 무시하고 계속 복구작업 수행

INDEXES             : 인덱스를 별도로 생성할 것인지 표시
ROWS                 : 테이블의 데이타를 복구할 것인지 표시
FULL                   : 백업된 모든 데이타를 복구
FROMUSER         : 여기에 정의된 사용자가 가지고 있는 모든 객체를 복구
TOUSER                           : 여기에 정의된 사용자가 FROMUSER 리스트에 정의되어 있는 사용자의

모든 객체를 복구

TABLES              : 복구할 테이블을 지정하여 복구 TABLES = (emp, dept)
RECORDLENGTH : 한번에 임포트할 수 있는 파일의 레코드 길이를 정의
INCTYPE             : 복구할 파일의 COMPLETE, CUMULATIVE, INCREMENTAL 유형을 정의
COMMIT                           : Y를 설정하면 각 배열을 입력한후 commit문을 실행
HELP                  : 도움말
PARFIL                : 임포트 파라미터를 외부 파일에 정의하여 사용하는 경우 파일명 표시

imp USERID = scott/tiger PARFILE = test.par

LOG                    : 모든 에러 메세지를 기록하는 파일명을 표시
DESTORY           : 데이타베이스에 이미 존재하는 객체를 삭제후 재생성해주며

FROMUSER, TOUSER 옵션과 같이 사용한다.

INDEXFILE           : 엑스포트 파일에 있는 모든 객체를 재생성 할 수 있는 CREATE문과

ALTER문을 외부 파일로 생성해 줍니다.

 

 

 

LAB: Export & Import 


1. SQL> host exp userid = scott/tiger file = $ORACLE_HOME/oradata/scott.dmp owner = scott

2. SQL> drop user scott cascade;
3. SQL> create user scott identified by tiger
     2  default tablespace users;
4. SQL> grant connect, resource to scott;
5. SQL> host imp userid=scott/tiger file=$ORACLE_HOME/oradata/scott.dmp full=y
6. SQL> connect scott/tiger
7. SQL> select * from dept;


 

LAB: EXPORT 와 IMPORT 만을 가능하게 할 유저 생성 및 설정

 

1. SQL> create tablespace expimp_ts

      2  datafile ‘x:\oracle\oradata\simondb\expimp_ts01.dbf’ size 100m

 

2. SQL> create user expimp

      2  identified by manager

      3  default tablespace expimp_ts

      4  quota unlimited on expimp_ts

      5  temporary tablespace temp

      6  quota unlimited on temp

 

3. SQL> grant connect, exp_full_database, imp_full_database to expimp

 

 

 

LAB: 해당 객체의 생성 DDL만을 보기

c:\scripts> exp userid=expimp/manager tables=scott.emp

c:\scripts> imp userid=expimp/manager full=y indexfile=emp.sql

c:\scripts> type emp.sql

 

 

샘플: 테이블 내의 특정 부분만을 exp.

 

### MS ONLY

HOST> exp userid=expimp/manager tables=simon.employees query=”””where object_id < 20”””

 

### UNIX ONLY

HOST> exp userid=expimp/manager tables=simon.employees query=\”where object_id \< 20\”

 

-         이와 같은 경우 exp.par 라는

반응형
Posted by [PineTree]