원격지 db impdp 문의 드립니다. 0 2 3,491

by 전산사서 [Oracle 백업/복구] impdp ORACLE 원격지 import [2018.05.16 16:15:30]


안녕하세요

요즘 DB 때문에 골머리를 썩고 있는 개발자 입니다.

테이블 이관을 위해서 datapump 사용 하려는데 막히는 부분이 있어서 질문 올립니다.

1. 원격지 db와 local db 존재

2. local db의 테이블을 

  expdp STOTT/STOTT directory='datapump' dumpfile='OWN_BILD_IMAGE_INFO2.DMP' LOGFILE='OWN_BILD_IMAGE_INFO2.log' JOB_NAME=T1  TABLES=OWN_BILD_IMAGE_INFO2 CONTENT=DATA_ONLY  

이런식으로 dmp file을 생성 하였습니다.

3. local db 에 떨구어논 dmp file을 가지고 원격지 DB에 impdp 를 하려고 합니다.

impdp STOTT/STOTT network_link='INM' dumpfile='OWN_BILD_IMAGE_INFO2.DMP' directory='datapump' LOGFILE='OWN_BILD_IMAGE_INFO2_IMP.log' JOB_NAME=T1 TABLES=OWN_BILD_IMAGE_INFO2 CONTENT=DATA_ONLY 

 

제가 하려는 것은 LOCAL DB에 떨구어 논 DMP 파일을 

원격 DB에 있는 테이블로 IMPORT 하려는데 오류가 발생 하네요.

 

DMP 파일을 원격 DB로 FTP 를 통해서 옮겨서 실행하면 되긴 하는데요

원격지 DB의 용량이 부족해서 그렇게는 진행이 안됩니다..... ㅜㅜ

 

DB_LINK 를 통해서 EXPDP는 잘 되 던데  IMPDP는 안되는 걸까요 ?

 

오류 LOG는 UDI-00011: parameter dumpfile is incompatible with parameter network_link

저렇게 나요네요...

DB LINK를 통해서 

INSERT INTO OWN_BILD_IMAGE_INFO2

SELECT *

  FROM @INM ;

이런식으로 진행해 보려고도 했지만,

테이블이 BLOB이고 용량이 커서

200G 정도 INSERT 하면 그만큼 LOG가 생성 되서 이것도 불가능한 상황 입니다. (현재 DB 서버의 디스크 공간이 거이 없습니다.)

LOG 미생성을 하려고

NOLOGGING 옵션을 주고 APPEND 힌트도 줘 봤지만 LOG는 생성 되도 군요.

DB를 내리고 DB에서 LOG 미생성 하도록 해야 한다는데, 다른 사업체에서 관리 해서 그것도 여이치가 않네요.......

 

LOG 생성을 피하려고 DATAPUMP를 선택 했는데 이마저도 안되서 절망 중입니다..

여러 고수님들의 조언 부탁 드립니다...

 

by 타락천사 [2018.05.17 09:42:49]

1.
DATAPUMP는 기본적으로 서버에서 수행하는 EXPORT 작업이라, 
제가 하려는 것은 LOCAL DB에 떨구어 논 DMP 파일을 원격 DB에 있는 테이블로 IMPORT 하려는데 오류가 발생 하네요.  >> 원격지 db 서버의 dump file 이 존재 해야함

2. 
오류 LOG는 UDI-00011: parameter dumpfile is incompatible with parameter network_link
--> 원격지 DB VERSION, LOCAL DB VERSION , 수행 하신 DB_LINK IMPDP 명령어랑 에러 올려보세요

3. 서비스  DOWNTIME 고려 
local db --> 원격지 db 이행 시,
1) EXPORT 용량이 크고, N/W 안좋을 안좋다면, LOCAL EXPDP -> FTP 전송 -> 원격 IMPDP 가장 빠릅니다.
2) EXPORT 용량이 작고, N/W 빠르다면         EXPORT 나 DATAPUMP(EXPDP/IMPDP) 가 빠릅니다.
-. LOB 타입은 성능이 안나옵니다. 이행 대상 중 LOB 이 있으면 이건 1) 은로 하셔야 됩니다.
-. 원격지 DB 에 공간이 없다면, 2) 에서 IMPDP 로 바로 땡기셔야 하는데 LOB 타입은 성능이 안나오실꺼에요.. LOB 존재 시, ROW 건건이 처리해서 무지막지 하게 느리실꺼에요 


by 전산사서 [2018.05.17 18:02:48]

너무나 친절하신 답변 감사 드립니다.....

말씀하신대로 원격지 DB에 dmp 파일이 없으면 안되는 거 같네요.

이것저것 테스트 해 본 결과, export는 되지만 import는 안되는 거 같네요......

원격지 DB에 디스크 공간이 없어서 dmp 파일을 올릴 수도 없는 상황 입니다.(lob 파일)

처음에는 로컬디비에 백업하고, db_link를 통해서

insert into table@INM

select *

from table ;

이런식으로 하려고 했는데요

원격지 DB에 INSERT가 되면

되는 용량만큼 LOG가 쌓인다고 DB 담당자가 확인해 주었습니다.

LOG 쌓는 거를 피해 보려고

NOLOGGING 옵션을 주고

APPEND 힌트도 주고 테스트 해 봤지만 LOG가 쌓이더군요......

혹시 LOG 쌓이는 것을 피 할 수 있는 방법이 있을 까요?

용량은 200G 정도입니다(LOB 테이블)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입