Oracle Import/Export 옵션
## export
형식 : EXP KEYWORD=값 또는 KEYWORD=(값1,값2,...,값N)
예 : EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
또는 T1이 분할된 테이블인 경우 TABLES=(T1:P1,T1:P2)
예 ) exp scott/tiger file=emp.dmp log=emp.log tables=emp direct=y
예 ) exp system/oracle file=full.dmp full=y indexes=n triggers=n
예 ) exp system/oracle file=scott.dmp owner=scott rows=n
option
수많은 exp 옵션들... 다 외울순 없다..
exp help=y
하게 되면 친절히 설명해주니 기억이 나지 않을시 참고 하도록 하자
scott/tiger : db 유저/password
full : 해당 db 전체 데이터 추출 여부(기본값 N)
buffer : 작업 단위의 크기 설정
owner : db 유저별 오브젝트 추출 설정
file : 추출한 데이터를 저장할 파일 이름 설정
tables : 데이터를 추출할 대상 테이블 설정
compress : 익스텐트 통합 여부를 지정(기본값 Y)
grants : 오브젝트 권한 설정에 대한 정보 추출 여부(기본값 Y)
indexes : 인덱스 스크립트 추출 여부(기본값 Y)
direct : 직접 경로로 export 수행 여부(기본값 N)
triggers : 트리거 정보 추출 여부(기본값 Y)
log : 로그를 저장할 파일 지정
rows : 테이블의 데이터 추출 여부(기본값 Y)
consistent : 대상 테이블의 읽기 일관성 지정(기본값 N)
constraints : 제약 조건의 추출 여부(기본값 Y)
parfile : 파라메터 파일을 export시 적용
INCTYPE : 증분 엑스포트 유형
RECORD : 증분 엑스포트 추적(기본값 Y)
OBJECT_CONSISTENT : 객체 엑스포트 동안 읽기 전용으로 설정된 트랜잭션(N)
FEEDBACK : 매 x행마다 진행 상황 표시(0)
FILESIZE : 각 덤프 파일의 최대 크기
FLASHBACK_SCN : 세션 스냅샷을 되돌리는 설정에 사용된 SCN
FLASHBACK_TIME : 지정된 시간에 가장 가까운 SCN을 가져오는 데 사용된 시간
QUERY : 테이블의 부분 집합을 엑스포트하는 데 사용된 select 절
RESUMABLE : 공간 관련 오류가 발생하면 일시 중지됨(N)
RESUMABLE_NAME : 재개 가능한 명령문을 식별하는 데 사용된 텍스트 문자열
RESUMABLE_TIMEOUT : RESUMABLE 대기 시간
TTS_FULL_CHECK : TTS에 대한 전체 또는 부분 종속성 검사 수행
TABLESPACES : 엑스포트할 테이블스페이스 목록
TRANSPORT_TABLESPACE : 이동 가능한 테이블스페이스 메타 데이터 엑스포트(N)
TEMPLATE : iAS 모드 엑스포트를 호출하는 템플리트 이름
** compress 옵션을 Y로 설정 하여 사용하면 여러개의 익스텐트가 하나의 큰 익스텐트로 통합된다
실제 운영에서는 익스텐트를 통합하는것은 좋지 않으므로 반드시 compress 옵션을 N로 설정 한다.
** direct 옵션을 사용하면 SGA를 사용하지 않고 export/import 하게 되며
추출 및 적재 작업시 보다 빠른 속도를 보장 받는다.
** comsistent 옵션을 Y로 설정하면 export를 수행한 시점의 데이터를 추출한다.
export 중 변경된 데이터는 언두 데이터를 이용해서 이전 값을 추출한다.
따라서 'snap shot too old' 에러가 발생하기 쉽다.
## export 작업시 주의 사항
** full, ower 및 tables 옵션은 동시 사용 불가
** direct=Y인 경우 consistent=y로 설정 불가
** full=Y로 expor를 수행하기 위해서는 exp_full_database 권한 필요
----- 추출 파일의 크기를 확인하는 SQL
SQL> select sum(bytes)/1024/1024
from dba_segments
where segment_name='TEST';
export 작업을 수행 하면 실제 테이블의 크기보다 작게 생성된다.
위 SQL을 수행하여 나온 크기만큼 디스크의 크기를 확보하면 export 작업을 수행하는데 충분하다.
또한 추출 파일에는 해당 테이블의 인덱스를 생성할 수 있는 정의만 저장하므로 별도의 디스크공간은 필요하지 않다.
하지만 import 시에는 실제 인덱스를 생성하므로 인덱스 테이블스페이스에 여유 공간을 확보해야한다.
## import
-- import 순서 : 테이블 생성 > 데이터 적재 > B*트리 인덱스 생성 > 제약조건 > 트리거 및 비트맵 인덱스 생성
예 ) imp scott/tiger file=emp.dmp log=emp.log tables=emp
예 ) system/manager file=full.dmp log=full.log full=y
예 ) system/manager file=scott.dmp fromuser=scott touser=mike
option
scott/tiger : db 유저 / password
full : 전체 db에 대해 import 여부(기본값 N)
buffer : 작업 단위의 크기 지정
fromuser : export한 테이블의 소유자 지정
touser : import되는 테이블의 소유자 지정
tables : import 대상 테이블 지정
ignore : import 대상 테이블이 존재할 경우 에러 발생 여부(기본값 N)
grants : 권한 적재 여부 지정 (기본값 Y)
indexes : index 생성 여부(기본값 Y)
commit : import 수행중 커밋 수행여부,
Y로 지정할 경우 buffer 옵션 단위로 커밋 수행(기본값 N)
rows : 테이블의 데이터 적재 여부(기본값 Y)
log : 로그를 저장할 파일 지정
constrainsts : 제약 조건 적재 여부(기본값 Y)
parfile : 파라메터 파일을 지정하여 import 작업시 적용
SHOW : 파일 목차만 목록 (기본값 N)
RECORDLENGTH IO : 레코드의 길이
INCTYPE : 증분 임포트 유형
DESTROY : 테이블스페이스 데이터 파일 겹쳐쓰기(기본값 N)
INDEXFILE : 지정된 파일에 테이블/인덱스 정보 쓰기
SKIP_UNUSABLE_INDEXES : 사용되지 않은 인덱스들의 유지를 건너뜁니다 (기본값 N)
FEEDBACK : 매 x행마다 진행 상황 표시(기본값 0)
TOID_NOVALIDATE : 지정된 유형 ID 검증 건너뛰기
FILESIZE : 각 덤프 파일의 최대 크기
STATISTICS : 미리 계산된 통계 임포트(항상)
RESUMABLE : 공간 관련 오류가 발생하면 일시 중지됨(기본값 N)
RESUMABLE_NAME : 재개 가능한 명령문을 식별하는 데 사용되는 텍스트 문자열
RESUMABLE_TIMEOUT : RESUMABLE 대기 시간
COMPILE : 프로시저, 패키지 및 함수 컴파일(기본값 Y)
STREAMS_CONFIGURATION : 일반 스트림 메타 데이터 임포트(기본값 Y)
STREAMS_INSTANTIATION : 스트림 인스턴스화 메타 데이터 임포트(기본값 N)
아래의 키워드만이 이동가능한 테이블스페이스에 적용할 수 있다.
TRANSPORT_TABLESPACE : 이동가능한 테이블스페이스 메타데이터을 임포트합니다 (기본값 N)
TABLESPACES : 데이터베이스안에 테이블스페이스가 이동되었습니다
DATAFILES : 데이터베이스안에 데이터 파일들이 이동되었습니다
TTS_OWNERS : 이동가능한 테이블스페이스 설정에 데이터를 소우하고 있는 사용자