약 30 개가있는 테이블 (30 개 열, BLOB 또는 LOB 없음)이있는 Oracle 데이터베이스가 있습니다. 5 천만 기록. 데이터를 MSSQL으로 옮겨야합니다. 테이블 구조는 MSSQL 측면에서 동일하게 유지됩니다. 많은 양의 데이터를 이동하는 가장 좋은 방법은 무엇입니까? 내보내기를 수행 한 다음 작은 응용 프로그램을 가져 오거나 작성하여로드를 수행합니까? 아니면 다른 방법 (무료 또는 상용 도구)?오라클과 MSSQL간에 수백만 개의 레코드 이동하기
답변
SQL Server Integration Services를 사용하십시오. 간단한 데이터 흐름으로 다음을 수행해야합니다. Oracle 데이터베이스를 OLE DB 원본으로 사용하고 SQL Server 데이터베이스를 OLE DB 대상으로 사용합니다.
"SQL Server 대상"을 사용하지 마십시오. 나는 OLE DB를 사용하는 것에 비해 느린 성능을 경험했다.
가장 좋은 방법 중 하나는 sqlplus 및 SPOOL을 사용하여 Oracle에서 텍스트 파일로 푸시하고 bcp 유틸리티를 사용하여 MSSQL에로드하는 것입니다. 신속하고 강력한 :)
캐리지 리턴이있는 데이터 또는 예상되는 파일 형식을 방해하는 기타 콘텐츠가없는 한 흠. –
항상 텍스트 필드에 인용문을 사용할 수 있습니다.) – knagaev
인용문을 포함하는 텍스트 필드는 어떻습니까? 아마도 짝수 개의 쉼표가 붙은 홀수일까요? :) –
단일 테이블에서 50M SSIS에 대한 쉬운 작업입니다. 일회성 과제라면 다른 것을 시도하지 않겠습니다.
- 1. SQL - 수백만 개의 레코드 삽입
- 2. SSIS로 수백만 개의 레코드 가져 오기
- 3. 다른 테이블을 기반으로 수백만 개의 레코드 삭제
- 4. 테이블 SQL 서버에서 수백만 개의 레코드 선택
- 5. 수백만 건의 레코드 스케일링 데이터베이스
- 6. Logstash-JDBC 플러그인 : Oracle에서 ElasticSearch로 수백만 개의 레코드 가져 오기
- 7. 매일 SQL 서버에서 오라클로 수백만 개의 레코드 이동
- 8. PHP를 사용하여 데이터베이스에서 수백만 개의 레코드 가져 오기
- 9. 수백만 개의 레코드 임시 저장을위한 최상의 SQL DB 디자인
- 10. 수백만 개의 삽입이없는 수백만 개의 더미 문서로 컬렉션을 채우려면 어떻게해야합니까?
- 11. 수백만 개의 GUI 행
- 12. mysql과 mssql간에 데이터를 앞뒤로 보내기
- 13. 수백만 개의 항목이있는 데이터베이스 디자인
- 14. 수백만 개의 레코드가있는 테이블에서 삭제하기
- 15. 수백만 개의 행이있는 장고 테이블
- 16. 화면에 수백만 개의 세그먼트 그리기
- 17. 수백만 개의 MySQL 행 작업하기
- 18. wxPython : 수백만 개의 항목이있는 VirtualTreeListCtrl
- 19. 수백만 개의 파일을 창에 저장하십시오.
- 20. 카산드라에서 수백만 개 이상의 레코드 읽기
- 21. Cocos2d에서 50 개의 스프라이트 이동하기
- 22. 오라클과 절
- 23. 수백만 개의 레코드가있는 MySQL 테이블을 청크로 내 보냅니 까?
- 24. 잠재적으로 수백만 개의 항목에 대한 UICollectionViewLayout
- 25. 수백만 개의 원시를위한 마우스 피킹 전략은 무엇입니까?
- 26. 데이터베이스에 수백만 개의 레코드를 빠르게 삽입하고 검색합니다.
- 27. 수백만 개의 행이 기본값으로 설정된 테이블 변경
- 28. 테이블 SQL 서버에서 수백만 개의 레코드를 삭제하십시오.
- 29. 수백만 개의 레코드가있는 거대한 테이블을 조건부로 업데이트하십시오.
- 30. 다른 데이터베이스에있는 수백만 개의 레코드를 비교하십시오.
모든 데이터 형식이 호환 가능합니까? SSIS를 보셨습니까? – Raj
한 번? 링크 서버, SQL 명령으로 복사. SQL Server : SSIS를 사용하고 완전히 무료 인 데이터 펌프를 설정하십시오 (SQL Server의 일부 임). – TomTom
Raj : 유형은 호환 가능하며 정수, 날짜 및 varchar 만 사용됩니다. TomTom : 한번의 마이그레이션입니다. 마이그레이션 할 때 끊어진 연결 또는 오류를 처리하는 방법이 무엇이 있습니까? 오류가 발생했을 때 어디에서 재개해야하는지 어떻게 알 수 있습니까? – Daniel