通过SSIS 2008将数据从Oracle数据仓库导入SQL Server

时间:2016-07-29 15:36:11

标签: sql-server oracle sql-server-2008 ssis

我有一个Oracle数据仓库,其中包含大量数据(大约1,100万行),并且希望每天将这些数据提取到SQL Server数据库。

SSIS Package

我创建了一个包,用于使用缓慢变化的维度将数据从Oracle导入到SQL Server,但它每秒处理大约600行。

我需要我的包只是插入新记录而不更新或对旧记录做任何事情,因为数据很大。

有没有办法快速完成任何其他数据流项目?

2 个答案:

答案 0 :(得分:0)

在你的情况下,600 /秒也不算太糟糕。 如果假设这些11百万只是在1年内收集的。这意味着新记录的数量每天只有30K。这大约需要1分钟。

最大的问题是识别要插入的记录 如果您必须使用时间戳或顺序ID来识别最新插入的记录。

如果您的ID不是连续的,您可以尝试从Oracle表中提取到SSIS ONLY ID字段,并将其与现有数据集进行比较,然后从Oracle请求最新的记录。

如果您没有这些字段,则可以提取所有1100万条记录,然后在两边生成哈希值并比较这些哈希值以了解要插入的新内容。

答案 1 :(得分:0)

您可以尝试在SSIS中使用合并连接,这应该允许进行仅插入新记录的比较。此外,我不喜欢在确定哪些数据插入和未插入时只使用datetime,我想这取决于您的源数据。听起来没有Oracle源数据的顺序ID字段?如果有,我会结合使用该日期和日期时间来插入什么数据。这可以在SQL或SSIS中完成。