2013-01-10 11 views
0

약 30 개가있는 테이블 (30 개 열, BLOB 또는 LOB 없음)이있는 Oracle 데이터베이스가 있습니다. 5 천만 기록. 데이터를 MSSQL으로 옮겨야합니다. 테이블 구조는 MSSQL 측면에서 동일하게 유지됩니다. 많은 양의 데이터를 이동하는 가장 좋은 방법은 무엇입니까? 내보내기를 수행 한 다음 작은 응용 프로그램을 가져 오거나 작성하여로드를 수행합니까? 아니면 다른 방법 (무료 또는 상용 도구)?오라클과 MSSQL간에 수백만 개의 레코드 이동하기

+3

모든 데이터 형식이 호환 가능합니까? SSIS를 보셨습니까? – Raj

+4

한 번? 링크 서버, SQL 명령으로 복사. SQL Server : SSIS를 사용하고 완전히 무료 인 데이터 펌프를 설정하십시오 (SQL Server의 일부 임). – TomTom

+0

Raj : 유형은 호환 가능하며 정수, 날짜 및 varchar 만 사용됩니다. TomTom : 한번의 마이그레이션입니다. 마이그레이션 할 때 끊어진 연결 또는 오류를 처리하는 방법이 무엇이 있습니까? 오류가 발생했을 때 어디에서 재개해야하는지 어떻게 알 수 있습니까? – Daniel

답변

0

데이터를 복제하려면 Oracle GoldenGate 도구를 확인하십시오.

+0

링크 만 사용하는 응답은 거의 가치가 없습니다. –

0

SQL Server Integration Services를 사용하십시오. 간단한 데이터 흐름으로 다음을 수행해야합니다. Oracle 데이터베이스를 OLE DB 원본으로 사용하고 SQL Server 데이터베이스를 OLE DB 대상으로 사용합니다.

"SQL Server 대상"을 사용하지 마십시오. 나는 OLE DB를 사용하는 것에 비해 느린 성능을 경험했다.

0

가장 좋은 방법 중 하나는 sqlplus 및 SPOOL을 사용하여 Oracle에서 텍스트 파일로 푸시하고 bcp 유틸리티를 사용하여 MSSQL에로드하는 것입니다. 신속하고 강력한 :)

+0

캐리지 리턴이있는 데이터 또는 예상되는 파일 형식을 방해하는 기타 콘텐츠가없는 한 흠. –

+0

항상 텍스트 필드에 인용문을 사용할 수 있습니다.) – knagaev

+0

인용문을 포함하는 텍스트 필드는 어떻습니까? 아마도 짝수 개의 쉼표가 붙은 홀수일까요? :) –

0

단일 테이블에서 50M SSIS에 대한 쉬운 작업입니다. 일회성 과제라면 다른 것을 시도하지 않겠습니다.

관련 문제