【问题标题】:Fastest way to copy large amounts of data from Oracle to SQL Server将大量数据从 Oracle 复制到 SQL Server 的最快方法
【发布时间】:2017-05-27 12:00:03
【问题描述】:

我需要将大量数据从 Oracle 数据库复制到 SQL Server 数据库。最快的方法是什么?

我正在查看 Oracle 中需要 60 - 70 gig 存储空间的数据。我使用的方法没有特别的限制。我可以使用 SQL Server Management Studio,或 SQL Serer 导入/导出程序,或 .NET 应用程序,或 Oracle 中的开发人员界面,或第三方工具,或----。我只需要尽快移动数据。

数据按地理位置组织。每种状态的数据都会单独更新到 Oracle 数据库中,并且可以自行转移到 SQL Server。因此,很少会同时移动全部数据量。

那么人们会有什么建议呢?

【问题讨论】:

    标签: sql-server oracle


    【解决方案1】:

    将大量数据插入 SQL Server 的最快方法是使用 SQL Server 批量插入。常见的批量插入技术有:

    • T-SQL BULK INSERT 语句
    • BCP 命令行实用程序
    • 具有快速加载选项的 SSIS 包 OLE DB 目标
    • 来自非托管代码的 ODBC bcp API
    • 来自非托管代码的 OLE DB IRowsetFastLoad
    • 来自 .NET 应用程序的 SqlBulkCopy

    T-SQL BULK INSERT 和命令行 BCP 实用程序使用平面文件源,因此您需要先将数据导出到文件中。其他方法可以直接使用 Oracle SELECT 查询结果,而无需中间文件,只要不考虑源/目标网络带宽和延迟,该中间文件的整体性能应该会更好。

    使用 SSIS,通常会为要使用 OLE DB 源 (Oracle) 和 OLE DB 目标 (SQL Server) 复制的每个表创建一个数据流任务。 Oracle 源提供程序可以根据 SSIS 版本单独下载。最新的是Microsoft Connector v4.0 for Oracle。 SSMS 导入向导可用于为任务生成 SSIS 包,可以立即运行和/或根据需要保存和自定义。例如,您可以为要复制的状态创建一个包变量,并在刷新数据之前在源SELECT 查询和目标DELETE 查询中使用它。这将允许在任何状态下重复使用相同的包。

    OLE DB IRowSetFastLoad 或 ODBC bcp 调用的执行方式应该与 SSIS 类似,但您可以通过对细节的大量关注获得一些额外的性能提升。但是,除非您已经熟悉 C++ 和 API,否则使用这些 API 并非易事。

    SqlBulkCopy 速度很快(通常每分钟数百万行),这对于大多数应用程序来说已经足够好,而无需额外的非托管代码复杂性。最好将Oracle managed provider 用于源SELECT 查询,而不是.NET 代码中的ODBC 或OLE DB 提供程序。

    我的建议是你不仅要考虑性能,还要考虑你现有的技能。

    【讨论】:

      【解决方案2】:

      我实际上曾经为此使用过一次来自 MS 的“Microsoft SQL Server 迁移助手 (SSMA)”,它确实做到了它所承诺的:

      SQL Server Migration Assistant for Oracle (文档)

      Microsoft SQL Server Migration Assistant v6.0 for Oracle (下载)

      SQL Server Migration Assistant (SSMA) Team's Blog

      但是,就我而言,它并没有我对 80 GB Oracle-DB(4 小时左右)的预期速度快,之后我不得不执行一些手动步骤,但无论如何,该应用程序都是在地狱中开发的(一个表有 90 多个列和 100 多个索引)。

      【讨论】:

        猜你喜欢
        • 2011-02-13
        • 2021-06-08
        • 1970-01-01
        • 2017-11-18
        • 1970-01-01
        • 1970-01-01
        • 2012-06-13
        • 2011-03-10
        • 2011-03-02
        相关资源
        最近更新 更多