오라클 import 를 빠르게 하는 방법 질문 좀 드립니다. 0 3 4,962

by 이현성 [Oracle 백업/복구] [2010.02.08 11:24:21]



안녕하세요 현재 시스템 관리를 하고 있는 초보 oracle 관리자 입니다.
oracle에 대해 거의 아는부분이 없는데 이번에 db migration을 하게 되었습니다. ㅠㅠ

oracle 9i(9.2.0.4)에서 oracle10g r2(10.2.0.1.0)로의 migration인데요.(OS는 redhat linux 4 입니다.)

계획은 그냥 단순하게 계정단위로 export를 받고 해당 데이터를 이전할 db에 업로드, 그 후 10g oracle에 import를 하는겁니다.
일차적으로 해봤는데 특별한 에러로그는 없는데..
import하는데 걸리는 시간이 너무 오래 걸리더군요.

export 데이터는 대략 20GB 정도인데 이걸 import하는데 거의 10시간이 넘게 걸리더라구요..
(작업 시간을 이렇게 오래 잡으면 문제가 있어서요...)
그런데 신기한건 export 받는데는 2시간정도면 됩니다.

뭐가 문제인건지..현재 상태가 정상이라면 import를 빠르게 하는 방법은 없는지 궁금합니다.

불쌍한 초보 oracle user 좀 도와주세요 ㅠㅠ~
by 현 [2010.02.08 12:07:35]
import를 할 때는 파일ㅇ르 만드는 시간,
export를 할 때는 파일을 읽는 시간이 추가로 더 걸립니다.
20g 정도면 export/import 보다는 db link가 떠 빠를 수 있습니다.
export/import 는 속도개념보다는 작업의 편의성 때문에 사용하는데요,

db link 를 사용하시어 작업하는 것을 고려해 보시고,
인덱스 유무, direct path 사용, 병렬처리 사용 등을 적절히 고려하시면 훨씬 빠르게 작업하실 수 있습니다.

by 이현성 [2010.02.08 13:17:43]
헛 답변 감사합니다. (__)
일단 export와 import간의 시간차가 있는건 어쩔수 없는거 같고...

말씀하신 db link라는걸 인터넷에 찾아봤더니 OS에서 사용하는 링크와 비슷한 개념인거 같은데...
이걸 DB이전에 어떻게 이용하는거죠?

연결 후 데이터를 이전하는 방법이 있는건지..
아니면 연결해 놓고 9i에서 10g를 컨트롤 하는건지..

저희가 장비를 바꾸고 한대로 운영하는 관계로 9i에서 10g를 컨트롤하는건 안되거든요..
전체 데이터를 이전해야 합니다.

그 외 인덱스 유무, direct path 병렬처리...초보 오라클 유저한테는 너무 어려운 말이네요 ㅠㅠ
아무튼 답변 달아주셔서 감사합니다. ㅠㅠ

by 현 [2010.02.08 14:37:13]
http://www.gurubee.net/lecture/1560

디비링크는 OS에서 사용하는 링크와 비슷한 개념이 아닙니다.
디비링크를 사용하시면 다른 인스턴스의 테이블을 내 인스턴스에 있는 마냥 사용하실 수 있습니다.
연결하신 후 insert ~ select ~ 혹은 ctas 모두 사용가능하십니다.

단, 원격db에 오브젝트를 생성할 수 없기 때문에 ctas를 사용하실 때는 옮기려는 대상 db에서 수행하시면 되시겠네요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입