프린트 하기

OS환경 : Oracle Linux6.8(64bit)


DB 환경 : Oracle Database 11.2.0.4


쿼리 : 

pipe를 통하여 백업 & 압축하는 exp/imp 명령어

pipe를 이용해서 백업하는 이유는 tmp 영역을 쓰지않아서 속도가 빠르기 때문이라고 한다.


참고로 datapump는 pipe 백업을 지원하지 않는다.

expdp 된 파일을 gzip 등으로 압축하는 것만 가능하다.   

(https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm)

기존 exp 및 imp 와 datapump의 expdp 및 impdp 차이점

Original Export and Import Versus Data Pump Export and Import


테이프 및 파이프와 같은 순차 매체는 지원되지 않습니다.

Sequential media, such as tapes and pipes, are not supported.

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


#파이프 exp

#파이프 설정할 파일 삭제

rm /tmp/exp_test


#/tmp/exp_test에 파이프 설정

/usr/sbin/mknod /tmp/exp_test p


#압축 및 exp 작업

compress </tmp/exp_test> ./dmp/TEST.dmp.Z &


#exp 작업

exp userid/password file=/tmp/exp_test           

         direct=y buffer=10240000 grants=y            

         compress=n constraints=y indexes=y rows=y    

         triggers=n tables=XXXX,YYYY,ZZZZ             

         feedback=10000 log=./log/exp_test.log


#작업 완료 후 파이프 제거

rm /tmp/exp_test



#파이프 imp

#파이프 설정할 파일 삭제

rm -f /tmp/imp_test


#/tmp/exp_test에 파이프 설정

/usr/sbin/mknod /tmp/imp_test p

#압축해제 및 imp 작업

uncompress<./dmp/TEST.dmp.Z> /tmp/imp_test &

 

#imp 작업

imp dbaid/password file=/tmp/imp_test            

         fromuser=userid touser=otherid               

         commit=y ignore=y buffer=10240000 grants=y   

         constraints=y indexes=y rows=y               

         tables=XXXX,YYYY,ZZZZ                        

         feedback=10000 log=./log/imp_test.log


#작업 완료 후 파이프 제거

rm -f /tmp/imp_test


    참고) exp와 imp를 연결하여 실행

          ftp가 지원되지 않고 TNS로 연결이 가능한 경우 사용한다.

          (파이프를 이용하여 exp하고 곧바로 imp로 연결하여 실행)

          % vi exp_and_imp.sh


            rm  /tmp/exp_node

            /usr/sbin/mknod /tmp/exp_node p

            exp dbaid/password@TNS_ALIAS FILE=/tmp/exp_node OWNER=us_test \

                INDEXES=n BUFFER=204800000 DIRECT=y LOG=exp_test.log &

            imp dbaid/password FILE=/tmp/exp_node FROMUSER=us_test        \

                TOUSER=us_test INDEXES=n COMMIT=y BUFFER=204800000        \

                FEEDBACK=100000 IGNORE=y LOG=imp_test.log

            rm  /tmp/exp_node

                 :wq







결과값 : 




참조 : http://redkite777.tistory.com/entry/오라클expimp-Ulitity-옵션 [All Days 무한도전]