얼마전에 SSIS 를 통해서 mssql 테이블을 oracle 로 넘겨야하는 일이 었는데…….이런 젠장…….
퍼포먼스가 안나오는거다….
정확히 기억은 안나는데…….천만건 이상의 데이터를 넘겨야하는데……..돌리다 보니…….
.한 6시간은 돌아야 넘어갈 것 같은…….ㅡㅡ;
mssql to mssql 이면 bulk 방식으로 넘어가서 빠르다는데…….oracle 은 안되는 거다……
원본 oledb 에서 대상 oledb 로 넘기면……… 올래 걸리는 것도 문제이지만…….
메모리는 왜케 잡아 먹는지……..쭉쭉~~~ 올라간다….
그러다가 ADO.NET 연결로 잡아서 해봤따………….허허~~~메모리는 안올라간다……하지만 시간은 그게 그거다…….
그래서 또 열심히 구글링 한 결과………해결 방법을 찾았당…..ㅋㅋㅋ
SSIS 로 Mssql 에서 oracle 로 데이터 넘길 때 퍼포먼스를 해결 하기 위한 방안이다……
이런게 나왔으면 update로 뿌려주면 안되남……….죽어라 검색해야 겨우 찾아지는……
어째는 방법은……
AttunitySSISOraAdaptersSetupX64.msi 이거다…….
우선 설치 한다……… 모 설정 할 것도 없이 그냥 설치다….
그런데……..SSIS 패키지 프로젝트 열어서 뭘 어쩌라는거냐……..바뀌는거 하나도 없구……..
하지만…..새 연결 을 선택해서 들어가면 ………추가되어 있다…..MSORA …….
그림에 보이는 "새 연결(W) " 요 메뉴다…
잘~~ 보면 "MSORA" 라고 있다….. 선택 하고 나면
요런 화면 나오고 TNS 이름 넣고 계정넣고 테스트 하면 OK
요렇게 연결은 추가가 됐다……….. 근데 이걸 어떻게 써먹어……… 하고 보니…….
도구상자에 추가를 해야 하는 것이었다……
데이터 흐름의 도구상자 에서 항목 추가 하면 Oracle Destination 을 추가 할 수 있다…. 물론 원본도 따로 있다…….
요렇게 추가를 해서 테스트 해보면……… 허걱……..속도 ~~~~ 완전 다르다………
아 그리고 Oracle Destination 에서도 두 가지를 선택 할 수 있는데…..
Bulk 방식으로 할건지 모 이런거….
Bulk 방식이 빠를줄 알았는데……..내가 돌려본 결과는 아니었다…….
Commit 하는 row 수를 변경함에 따라서도 약간의 성능 차이가 나는 것으로 확인 했다….
댓글