본문 바로가기

ORACLE

[오라클] 덤프 exp/imp

출처 : http://blog.naver.com/oihijkoh?Redirect=Log&logNo=130083782584

1. DB 서버으로 접속 (ex 리눅스)

2. root 권한으로 변경

- su-

3. 오라클 유저로 변경

- su - oracle

4. 오라클 sqlplus 실행

- sqlplus "/as sysdba"

5. 해당 유저의 데이터를 export

- exp 유저명/패스워드 file=파일명.dmp full=y;

6. 삭제할 유저가 사용하던 tablespace 확인(같은 테이블스페이스 지정시)

- select DEFAULT_TABLESPACE from dba_users where username= 삭제할유저명

7. 유저 삭제 (기존 유저로 import 할 시 유저가 사용하던 테이블 모두 삭제되었는지 확인)

- drop user 삭제할유저명 cascade;

8. import 받을 유저를 생성

- CREATE USER유저명IDENTIFIED BY패스워드 DEFAULT TABLESPACE테이블스페이스명 TEMPORARY TABLESPACE TEMP;

9. 생성한 유저에게 권한부여

- grant connect, resource, dba to 유저명;

10. 생성한 유저에게 import

- imp 유저명/패스워드 file=파일명.dmp full=y;

이상!!

------------------------

오라클 덤프뜨기

1. 먼저 가져올 디비에 접속해서 자신의 로컬로 덤프를 뜬다.
D:\tmp>exp 아이디/비번@리스너이름
뭐 물어보는데 걍 전부 엔터(엔터는 기본 yes)
필요한 곳에서 하기

2. 가져왔으면 import

테이블 스페이스를 만들어주고 import한 사용자의 계정으로 import를 하면 된다
달라도 되지만 같은게 좋다고 함 (자세한건 좀더 알아봐야함)
엔터 주욱 치다가 파일전체를 할꺼냐고 물어보면(젤 마지막 질문) yes 치면 된다.
(yes/no)는 엔터가 기본 yes가 되지만
(yes/no) no 이런것은 엔터가 기본 no가 된다 조심할것.

D:\tmp>imp 아이디/비번

그리고 오라클 9i부터는 TEMPORARY 스페이스가 필요없다는것 알아 둘것
오라클 9i가 알아서 만들어줌

----------------------------

오라클 덤프뜨기

1. export :먼저 가져올 디비에 접속해서 자신의 로컬로 덤프를 뜬다.

일반 cmd창을 열고 파일을 생성할 디렉토리로 이동하여
D:\tmp>exp 아이디/비번@리스너이름
뭐 물어보는데 걍 전부 엔터(엔터는 기본 yes)

2. import : import할 서버로 파일을 이동시킨후 수행함.

테이블 스페이스를 만들어주고 import한 사용자의 계정으로 import를 하면 된다
달라도 되지만 같은게 좋다고 함 (자세한건좀더 알아봐야함)
엔터 주욱 치다가 파일전체를 할꺼냐고 물어보면(젤 마지막 질문) yes 치면 된다.
(yes/no)는 엔터가 기본 yes가 되지만
(yes/no) no 이런것은 엔터가 기본 no가 된다 조심할것.

D:\tmp>imp 아이디/비번

그리고 오라클 9i부터는 TEMPORARY 스페이스가 필요없다는것 알아 둘것
오라클 9i가 알아서 만들어줌

덤프 뜰때 - export
D:\tmp>exp 아이디/비번@리스너이름
(일부 테이블만)
D:\tmp>exp 아이디/비번@리스너이름 tables=테이블명, 테이블명 file=파일명

덤프 넣을때 - import
D:\tmp>imp 아이디/비번
(일부 테이블만)
D:\tmp>imp 아이디/비번 file=파일명
tables=테이블명

/예)

exp test/testpw OWNER=test FILE=test.dmp LOG=test.log

exp test/testpw@test FILE=test.dmp LOG=test.log

imp test/testpw FROMUSER=test TOUSER=test FILE=test.dmp LOG = test.log

-------------------------