가. 여러개의 테이블 중에서 특정 table만 백업/복구 하고자 할 때
나. 오라클의 버전, 플랫폼이 서로 다른 상황에서의 서버간 데이터 이동 시(migration)
2. export 방식
가. Conventional Path export : Evaluation Buffer를 사용하는 방식, DB Buffer cache에서 필요데이터를 Evaluation Buffer로 복사 후 데이터를 가공(text -> binary)하여 디스크에 파일로 저장함. export 작업 중에 발생하는 DDL, DML 등의 명령들은 백업파일에 반영되지 않는다.(백업 파일은 Evaluation Buffer을 이용하여 작업하기 때문)
나. Dircet Path export : DB Buffer Cache에서 데이터를 가공(text -> Binary)하여 디스크에 파일로 저장함, export 명령 이후에 백업대상이 되는 테이블스페이스나 테이블에 Lock이 발생하기 때문에 DDL, DML 작업은 실패 또는 보류 된다.
3. export 옵션 및 사용예제
가. 옵션
- userid/passwd : export를 수행하는 계정/패스워드
- buffer : Evaluation Buffer크기 지정(용량이 클 수록 export 작업이 빨라진다)
- file : export 결과를 저장할 파일명
- full : 전체 DB를 export 할 것인가 지정
- owner : export 받을 사용자 이름지정
- tables : export 받을 테이블 이름 지정
- tablespaces : exprot 받을 테이블스페이스 이름지정
- parfile : export 옵션을 미리 지정한 파라미터 파일지정
나. 사용예제
exp system/oracle full=y file=/backup/export/test02.dmp direct=y
exp system/oracle tables=emp \
file=('/backup/export/test03_1.dmp', '/backup/export/test03_2.dmp') filesize=10M
exp system/oracle tablespaces=(example, undotbs1) file=/backup/export/test04.dmp
exp system/oracle file=/backup/export/test05.dmp owner=(scott, hr)
exp system/oracle file=/backup/export/test06.dmp full=y buffer=1024000
vi par_full.dat
file=/backup/export/test07.dmp
full=y
direct=y
exp system/oracle parfile=par_full.dat
exp scott/tiger query=\"where ename like \'F%\'\" tables=emp \
file=/backup/export/test07.dmp
4. import 옵션 및 사용예제
가. 옵션(export의 옵션과 유사하다)
- userid/passwd : import를 수행하는 계정/패스워드
- buffer : Evaluation Buffer크기 지정(용량이 클 수록 import 작업이 빨라진다)
- full : export 파일의 모든 데이터를 import 한다.
- file : import 할 export 파일명 지정
- show : 데이터를 import 하지 않고 내용만 확인함
- ignore : import 작업 중 발생할 수 있는 에러를 무시하고 다음단계의 작업을 진행함
- fromuser : export 할 당시의 object의 소유자 지정
- touser : import 할 object의 새 소유자 지정
- tables : import 할 테이블 이름 지정
- parfile : import 옵션을 미리 지정한 파라미터 파일지정
나. 사용예정
imp system/oracle file=/backup/export/test02.dmp \
fromuser=scott touser=hr ignore=y
imp system/oracle file=/backup/export/test03.dmp full=y show=y log=test03.log
참고 : export/import 계정
import 할 때 사용하는 계정은 export 할 때 사용한 계정이어야 한다. 이 계정이 같지 않으면 import 수행 시 오류가 발생한다.만일 export 계정을 잊었다면 덤프파일을 vi 편집기로 열어 확인할 수 있다.(2번째 줄)
참고 : import 작업 중 에러발생 시
import 작업을 진행하던 도중 에러가 발생해 같은 작업을 반복하게 되면, import 대상이 되는 테이블(제약조건이 없는)에 데이터가 중복 저장될 수 있다. 그러므로 같은 작업을 반복시에는 import 대상이 되는 테이블의 내용을 지우고(drop 또는 truncate) 진행해야 한다.
참고 : SYS 계정으로 생성된 Object export
일반적으로 SYS계정에서 생성된 객체는 export 명령어로 백업할 수 없으므로 주의해야 한다.
(단, 경우에 따라서 system 계정으로 백업이 가능하기도 하다)
4. Import 대상 서버에서 필요한 사전 작업
가. Export 한 서버와 동일한 Tablespace 생성
나. 충분한 크기의 Temporary Tablespace 확보
다. Export 한 서버와 동일한 사용자 생성
참고 : 오라클 레퍼런스 사이트
Export and Import Modes : http://docs.oracle.com/cd/B19306_01/server.102/b14215/exp_imp.htm#i1004890
Export Parameters : http://docs.oracle.com/cd/B19306_01/server.102/b14215/exp_imp.htm#CEGFIAGE
Import Parameters : http://docs.oracle.com/cd/B19306_01/server.102/b14215/exp_imp.htm#i1021478