울어라휘파람새야
오라클 빠른 exp, imp 본문
exp, imp indexs 생성 없이 하고 나중에 Data를 import 하고 index를 생성하는 방식이다.
import하는데 시간 너무 잡아먹으면 이 방법을 추천하며 여기서 사용자에 편의에 맞춰서
옵션을 수정하면 될것이다.
다른 DB에 import 시 미리 해야할 작업
* DB에 있는 각 유저 정보, tablespace 정보 확인하고 만들어주기
SELECT username, default_tablespace, temporary_tablespace FROM dba_users;
SELECT name, bytes/1024/1024 FROM v$datafile;
SELECT name, bytes/1024/1024 FROM v$tempfile;
* 각 유저별 권한 정보 확인하고 만들어주기
SELECT * FROM user_sys_privs;
export, import 빠르게 하기 (sga영역 사용안하고 하므로...)
* direct YES
import 빠르게 하기
* index NO, commit NO
* buffer size 크게 잡는다.
* import 전부 다 들어갈때까지 DB는 NoArchive로 한다.
(1) 유형
exp userid/userpass log=dump.log file=dump.dmp indexes=n compress=n direct=y
imp userid/userpass log=imp_dump.log file=dump.dmp indexes=n buffer=10247680 commit=n
(2) 유형 (난 index 분리하는거 귄찮으므로 그냥 하겠다.)
exp userid/userpass log=dump.log file=dump.dmp compress=n direct=y
imp userid/userpass log=imp_dump.log file=dump.dmp buffer=10247680 commit=n
1.4G 정도를 exp로 실행을 해보면 속도 차이가 약 3배 정도 난다. 결과적으로 옵션 주고
exp를 해야한다고 생각한다.
일반 exp 시간
real 4m24.487s
user 3m11.499s
sys 0m13.747s
옵션 주고 exp 시간
real 1m51.127s
user 0m48.110s
sys 0m19.683s
export한 곳에서 한방에 indexes 가져오기
Toad -> schema browser -> indexes -> 전부 선택후 마우스 오른쪽 버튼 ->
create index -> 누르면 복사를 한다. -> notepad 패드 열어서 붙이기 하면 나올것이다.
index 지우고 다시 만들기
drop index indexname 으로 삭제가 안되면 이런 방법을 사용하면 된다.
Primary Key 삭제하기
alter table tablename drop primary key
index 생성 ( Toad 에서 만든거 붙이기로 해서 실행해도 된다.)
create unique index indexname on tablename(....)
Primary Key 생성
alter table tablename add primary key(column1, column2)
export시 error발생 해결 방법
EXP-00091
exp 옵션에 statistics=none 추가
[출처] 오라클 빠른 exp, imp |작성자 에밀리오