<EXPORT>
- export 수행하여 만든 파일을 다시 데이터베이스로 넣는 작업
- IMPORT 작업은 DDL과 DML을 수행 -> Redo log와 Undo segment를 사용하게됨
- export 유틸리티가 변환한 바이너리 파일을 import 유틸리티가 읽어서 다시 데이터베이스에 저장
- DBA로 export 했으면 DBA로 import 해야함 (scott으로 exp하고 system으로 imp가능)
- 대량의 데이터를 import할 경우에는 반드시 충분한 용량의 Undo Tablespace를 준비하고 작업해야함
- Undo Tablespace의 용량이 부족할 경우, 마지막에 에러발생하여 전부 Rollback
-> commit=y 옵션을 사용하면 array단위로 commit을 수행하므로 전체가 rollback되는 현상을 막을수 있음
- AS-IS(구DB)에 있던 데이터와 TO-BE(신DB)에 있던 데이터가 동일해서 충돌이 일어나서 에러발생 할수도 있음
-> ignore=y 옵션을 사용하여 import 도중 에러발생시 무시하고 계속 진행
-> import 단계에서 하나가 에러나면 다음 작업이 시작되지 않음
-> 다시 import하려면 에러나기전 작업들을 다 지우고 다시 import 해야함
- 인덱스가 많은 테이블을 import 할때는 기존에 있던 인덱스를 지우고 import후 인덱스를 재생성하는 것이 좋음
- import작업은 사용량이 적을때 막아놓고 작업해야함
* IMPORT OPTION
옵션명 |
기본값 |
의미 |
userid |
없음 |
Import를 수행하는 username/passwd |
buffer |
os에 따라 다름 |
evaluation buffer 크기, export와 동일 |
file |
expdat.dmp |
import할 export 파일명 |
show |
No |
데이터를 import하지않고 내용만 확인함 |
ignore |
No |
import 도중 에러발생시 무시하고 계속 진행 |
grants |
Yes |
권한도 import할 것인지 설정 |
rows |
Yes |
데이터 import 여부 |
indexes |
Yes |
index import 여부 |
full |
No |
전체 파일 import 여부 |
fromuser |
없음 |
export할 당시 오브젝트의 소유자를 지정함 |
touser |
없음 |
import할 오브젝트의 새 owner 이름 |
tables |
없음 |
import할 테이블 목록 |
recordhength |
os 별로 다름 |
한번에 import할 record의 길이를 지정 |
inctype |
없음 |
증분 import의 유형지정, system과 restore가 적당함 |
commit |
no |
각 array의 입력후 commit 여부 지정 디폴트 값은 테이블 전체가 입력완료된후 commit *arrary : 한번 입력되는 단위 |
parfile |
없음 |
import의 파라미터를 적어둔 파라미터 파일 지정 |
[실습]
1. 전체 데이터 import 수행하기
- TO-BE에 AS-IS와 같은 테이블이나 데이터가 존재한다면 추가하게됨
- TO-BE에 제약조건이나 인덱스가 존재한다면 데이터가 추가되지 않고 에러발생 (unique index, primary key)
$ imp system/oracle file=/data/exp/full01.dmp full=y ignore=y
2. 특정 사용자의 데이터만 import 수행하기
$ imp system/oracle file=/data/exp/full01.dmp fromuser=scott ignore=y
3. 특정 테이블의 데이터만 import 수행하기
$ imp system/oracle file=/data/exp/full01.dmp tables=test01 ignore=y
4. scott사용자의 test02 테이블을 hr 사용자 소유로 변경하기
$ exp scott/tiger file=/data/exp/test02.dmp tables=test02
$ imp system/oracle file=/data/exp/test02.dmp fromuser=scott touser=hr ignore=y
5. 실제 데이터는 import하지 않고 DDL문장만 추출하기
- show=y 옵션을 주면 export 파일의 모든내용을 보여주는데
- log옵션을 주면 로그파일에 그 내용들이 전부 저장됨
- 저장된 로그파일을 열어서 편집하여 사용
$ imp scott/tiger file=/data/exp/test02.dmp show=y log=test02.log
'oracle > [Backup] 백업' 카테고리의 다른 글
[데이터 이동하기] Datapump - impdp (0) | 2014.11.10 |
---|---|
[데이터 이동하기] Datapump - expdp (0) | 2014.11.10 |
[데이터 이동하기] Datapump (0) | 2014.11.10 |
[데이터 이동하기] EXP/IMP 심화학습 (0) | 2014.11.10 |
[데이터 이동하기] EXPORT (0) | 2014.11.07 |
댓글