덤프 익스포트 임포트
C:\> exp 권한이있는유저(스키마)/비밀번호 file=경로/덤프파일.dmp owner=익스포트할스키마
C:\> imp file=경로/덤프파일.dmp userId=임포트할유저(스키마)/비밀번호 full=y log=경로/로그파일.log
주의 )
익스포트시 테이블에 테이블스페이스가 지정되어 있을 경우 임포트할 데이터베이스에도 같은 이름의 테이블스페이스가 존재해야 임포트가 됨.
덤프파일 임포트시 테이블스페이스 변경
C:\> imp file=경로/덤프파일.dmp userId=임포트할유저(스키마)/비밀번호 full=y log=경로/로그파일.log indexfile=index.sql
1. 위처럼 임포트문을 실행시키면 실제 임포트가 되는 것이 아닌 테이블 생성 구문은 REM으로 주석 처리되고 index 생성 구문만 sql파일로 내려줍니다.
2. 해당 파일에서 REM으로 되어 있는 주석을 모두 풀어줍니다. ( REM이라는 단어 제거 )
3. 따옴표를 모두 제거합니다 ( “ )
4. ... row 라고 되어있는 건수 줄을 모두 제거합니다 ( 노가다. 비울 수 있는 테이블은 모두 비운 후 하는 것을 추천합니다. )
5. 테이블스페이스명을 모두 바꿀 테이블스페이스로 변경합니다. 해당 과정 진행 후 실행시키면 전체 테이블이 껍데기만 테이블스페이스가 바뀌어서 만들어 집니다. 그 후에 다시 해당 임포트문을 ignore=y를 붙여 진행합니다. ( 테이블이 미리 생성되어 있다는 오류 무시 )
C:\> imp file=경로/덤프파일.dmp userId=임포트할유저(스키마)/비밀번호 full=y log=경로/로그파일.log ignore=y
펌프 익스포트 임포트
해당 directory에 대한 권한이 주는계졍/받는계정 둘다 존재해야 함.
SELECT * FROM all_directories; -- 지정되어있는 전체 디렉토리 보기
GRANT READ, WRITE ON DIRECTORY 디렉토리명 TO 유저; --해당 유저에 해당 이름의 디렉토리 권한 부여
C:\> expdp 권한이있는유저(스키마)/비밀번호 schemas=익스포트할스키마 directory=디렉토리명 dumpfile=펌프파일명.dmp logfile=로그파일명.log
C:\> impdp 권한이있는유저(스키마)/비밀번호 directory=디렉토리명 dumpfile=펌프파일명.dmp logfile=로그파일명.log REMAP_SCHEMA=이전스키마명:넣을스키마명
REMAP_TABLESPACE=이전테이블스페이스명:변경할테이블스페이스명
오라클 상위 버전에서 익스포트 -> 하위 버전으로 임포트
오라클에서 11g의 클라이언트가 Export를 하면 10g에서는 이를 이용할 수 가 없다.
10g에서 Export한 것은 11g에서 Import하는데 문제가 없지만. 이럴 때는 단순 Export를 하지말고 데이터 펌프를 이용하면 하위버전에서 사용가능하도록 Export가 가능하다.
이는 10g이상에서만 사용 가능함.
방법
위의 펌프 익스포트 뒤에 VERSION = 10.2 을 붙여 줌
'개발' 카테고리의 다른 글
[JavaScript/jQuery] 더블 셀렉트 박스 (0) | 2018.05.20 |
---|---|
[Eclipse] 이클립스 메모리 확인 ( 힙 저장공간 ) (0) | 2018.05.03 |
[HTML] disabled와 readonly 차이 (0) | 2018.01.02 |
[JavaScript/jQuery] 유용한 자바스크립트 함수 모음 (0) | 2017.12.30 |
[Eclipse/Spring] 이클립스 유용한 단축키 (0) | 2017.12.28 |