데이터베이스/오라클(Oracle)

datapump 사용방법(expdp/impdp)

후바스탱크 2015. 10. 21. 17:52

datapump를 사용할 경우 imp/exp와 같이 OS다이렉트 패스를 사용하지 못하고 OS의 패스에 맞추어서 DB에 출력 디렉토리의 맵핑을 미리 해둘 필요가 있다.(10g의 경우)

$ mkdir -p /home/oracle/datapump

SQL> create directory DUMP_DIR as '/home/oracle/datapump';


11g의 경우는 DATA_PUMP_DIR이라는 이름으로 디폴트 디렉토리 맵핑이 만들어져 있으니 그대로 사용하면 됨. (새로 만들어도 되고... 작성된 디렉토리 맵핑은 다음 SQL문으로 확인 가능.

SQL> select * from dba_directories;


커맨드의 경우 기존 imp/exp와 차이가 나는 점이 크게 두가지가 있다.

첫째로는 모드 지정 (FULL ,SCHEMAS ,TABLES ,TABLESPACES)

두번째로는 구 버전의 오라클DB에 import할 경우 export단계에서 버전을 지정해 줘야 하는 점.

지정해 주지 않으면 ORA-39142: incompatible version number 3.1 에러발생


아래는 몇가지 샘플


같은 버전에 export)

expdp user1/passwd1 schemas=user1 directory=DUMP_DIR dumpfile=expdp.dmp logfile=expdp.log


구버전에 export 11r2→10r1)

expdp user1/passwd1 schemas=user1 directory=DUMP_DIR dumpfile=expdp.dmp logfile=expdp.log version=10.1



import)

impdp user1/passwd1 directory=DUMP_DIR dumpfile=expdp.dmp logfile=impdp.log


다른 유저에 import) (구 버전의 경우 fromuser, touser)

impdp system/manager remap_schema=user1:user2 directory=DUMP_DIR dumpfile=expdp.dmp logfile=impdp.log



발췌 : http://egloos.zum.com/elflord/v/4623061



추가 사항

http://dinggur.tistory.com/167