Database

Oracle 백업

Jack Moon 2012. 10. 8. 16:08

Oracle 백업

 출처 :  http://nolja.egloos.com/1212951

 

▣ EXPORT ?

  ⊙ 오라클에서 제공하는 논리적인 백업에 사용되는 유틸리티로써,  binary file형태로 기록합니다.

데이터베이스가 가동중인 상태에서 실행합니다.

⊙ 전체 데이터베이스, 특정 사용자, 특정 테이블들을 엑스포트 시킬 수 있습니다.

⊙ 권한, 익덱스, 또한 연관된 제약조건들과 같이 테이블들과 연관되는
    데이터 딕셔너리 정보도 엑스포트 시킬 것인가를 선택할 수 있습니다.

⊙ 마지막 엑스포트 이후로변경된 테이블들에 대해서만 엑스포트 작업을 실행 할 수도 있습니다.  

 



▣ Export Paramger

 - userid : EXPORT를 실행시키고 있는 username/password명.

 - buffer : 데이터 행들을 가져오는데 사용되는 버퍼의 크기.

 - file : 생성되는 EXPORT덤프 파일명.

 - filesize : EXPORT덤프 파일의 최대 크기

 - grants : 데이터베이스 객체에 대한 권한 정보의 EXPORT여부 (Y/N 플래그)

 - indexes : 테이블에 대한 INDEXES의 EXPORT여부 (Y/N 플래그)

 - rows : 행들에 대한 EXPORT여부. (Y/N 플래그)
             만약 “no”이면 데이터는 EXPORT되지않고 테이블의 정의만 EXPORT 됩니다.

 - constraints : 테이블에 대한 제약조건 정보의 EXPORT여부 (Y/N 플래그)

 - compress : IMPORT에 대비하여 테이블의 데이터를 한 extent로 압축 할것인가의 여부
                    (Y/N 플래그)

 - full : 전체 데이터베이스를 EXPORT할것인가의 여부 (Full Level Export) (Y/N 플래그)

 - owner : EXPORT될 데이터베이스의 소유자명 (User Level Export)[owner=user]

 - tables : export될 테이블의 리스트(Table Level Export) [tables=(table1, table2, ...)] 

 



▣ Full Level Export

 - 전체 데이터베이스가 엑스포트 됩니다.

- 모든 테이블스페이스, 모든 사용자, 또한 모든 객체, 데이터들이 포함됩니다.

 예제) C:>exp  userid=system/manager  file='C:full.dmp'   full=y 



▣ User Level Export

- 사용자 객체들이 엑스포트 되고 객체들 안에 있는 데이터도 엑스포트 됩니다.

- 사용자 객체에 대한 모든 권한들과 인덱스들도 엑스포트 됩니다.

- 다른 사용자들의 객체와 권한, 인덱스들은 엑스포트 되지 않습니다.

 예제1) 사용자 자신이 만든 모든 오브젝트를 그 user가 EXPORT하는 방법입니다.

      C:>exp   userid=scott/tiger  file='C:scott.dmp'


 예제2) SYSTEM/MANAGER로 접속한 DBA가 여러 user소유의 오브젝트들을 EXPORT 하는
          방법입니다.

      C:>exp userid=system/manager owner=scott  file='C:scottuser.dmp'

 

 



▣ Table Level Export

 - 명시된 테이블만 엑스포트 됩니다.

- 테이블의 구조, 인덱스, 권한등이 테이블과 함께 엑스포트 됩니다.


    예제1) system user로 다른 유저의 table 몇 개만 Export하는 예제입니다.

    C:>exp userid=system/manager file='C:exp.dmp' tables=(scott.EMP, scott.DEPT)

    => 위와 같이 table의 schema(user)명까지 지정해야만 export가 성공합니다.


     예제2) scott user로 table 몇 개만 EXPORT하는 예

     C:>exp userid=scott/tiger file='C:exp.dmp' tables=(EMP, DEPT) log=exp.log

     => user가 자신의 table을 export할 때에는 schema 명을 지정할 필요 없습니다.

 

 

 


▣ 테이블스페이스의 생성






   
- 옵션절을 생략할 경우 밑줄친 옵션이 디폴트 값입니다.
  - tablespace_name : 생성할 테이블 스페이스 명
  - DATAFILE : 새로 생성하는 테이블스페이스가 사용할 데이터 파일
  - filespec : 디렉토리 경로명을 포함한 파일명
  - size : 새로 생성되는 데이터 파일의 크기

  - ONLINE/OFFLINE
      onLINE : 새로 생성되는 테이블 스페이스를 활성화 시키며, 생성 후 바로 사용할 수 있게 함
      OFFLINE : 테이블 스페이스를 비활성화 시키며, 생성 후 바로 사용할 수 없음

  - PERMANT/TEMPORARY : TEMPORARY 옵션을 사용하면 생성하는 테이블스페이스는
                                        임시 테이블스페이스가 됩니다.


 
- DEFAULT STORAGE


    
* INITIAL : 테이블 스페이스의 맨 첫번째 Extents의 크기
    * NEXT : 다음 Extents의 크기
    * MINEXTENTS : 생성할 Extents의 최소 값
    * MAXEXTENTS : 생성할 Extents의 최대 값
    * PCTINCREASE : Extents의 증가율, Default값은 50 입니다


테이블 스페이스 생성 예제

-- sysdba권한으로 접속을 합니다.
SQL> conn sys/manager as sysdba

-- 테이블스페이스 생성
SQL>CREATE TABLESPACE storm
        DATAFILE 'C:ORACLEORADATAapp_data.dbf' SIZE 100M
        DEFAULT STORAGE
            (INITIAL    10K
             NEXT      10K
             MINEXTENTS 2
             MAXEXTENTS 50
             PCTINCREASE 50)

위 같은 테이블 스페이스 생성시..

'Database' 카테고리의 다른 글

Oracle 에러  (0) 2012.10.08
Oracle 복구  (0) 2012.10.08
Oracle - PHP 연동 샘플  (0) 2012.10.08
MySQL 패스워드 변천사  (0) 2012.10.08
인덱스를 타지 않는 경우  (0) 2012.10.08