【发布时间】:2017-05-10 00:44:45
【问题描述】:
我们正在从两个不同的来源将数据传输到 Oracle 数据库,而且速度非常慢。
请参阅下面的注释和图片。有什么建议吗?
注意事项:
- 我们正在使用 Microsoft OLE DB Provider for Oracle。
- 一个数据源是 SQL Server,包含大约 5M 条记录。
- 第二个数据源是 Oracle,包含大约 7 亿条记录。
- 在尝试传输 SQL Server 数据时,我们将其拆分为 “控制流”中有五个“数据流任务”。每个“数据流任务” 反过来使用内部使用“SQL命令”的“OLE DB源” 有效地选择了 5M 记录中的 1M。当我们运行这个 包它运行第一个数据流任务大约 3 小时,仅 转移了大约 50,000 条记录,直到我们结束流程。
- 我们在 Oracle 数据方面也有类似的经验。
- 由于某种原因,保存到 Oracle 目标非常慢。
- 有趣的是,我们曾经将相同的 700M 记录从 Oracle 转移到 SQL Server(所以相反的方向),它按预期工作 大约 4.5 到 5 小时。
图片:
【问题讨论】:
-
考虑使用 Oracle OLE DB 提供程序而不是 Microsoft。还可以考虑创建链接服务器。看起来您可以只使用带有链接服务器的单个 SQL 存储过程而不是 SSIS 来完成此任务。 serverfault.com/questions/175257/…
标签: sql-server oracle ssis