SSIS不与OraOLEDB.Oracle.1 Provider并行运行

问题描述 投票:3回答:1

我们有一个带有Oracle 11 Client的SSIS包,我们将以30分钟到1小时的运行时间运行我们的日常查询。

我们不得不升级我们的oracle客户端,因为我们的其他oracle源之一已升级。

升级到Oracle 12c后,我们的日常工作运行时间增加了。 oracle DBA表示,它并非并行运行,因为它只占用一个处理器。

当我们从SQL Developer或toad运行相同的查询时,它并行运行。但是如果我们从SSIS OLEDB Source组件运行它并不是并行运行的。

我不太清楚这种行为。任何解决方案都会有帮助。如果需要,请向我提出更多说明。

oracle ssis parallel-processing oledb oracle12c
1个回答
0
投票

Trying to figure out the issue

我试图搜索这个主题,我没有找到很多信息,但我认为它是基于OLEDB连接管理器中提供的OLEDB连接字符串。

查看以下Oracle文档,它可能会为您提供一些见解:

在上面的链接中,他们在分布式事务部分中提到:

DistribTX属性指定是否启用会话以在分布式事务中登记。有效值为0(禁用)和1(已启用)。默认值为1,表示为分布式事务登记启用了会话。

为分布式事务登记启用的会话无法运行使用Oracle数据库的直接路径加载和并行DML功能的语句。这些语句作为传统的路径序列语句执行。

我不确定这是否有帮助,但尝试一下也不错。


Oracle Attunity Connectors

不使用OLEDB Source从oracle读取,最好使用Oracle Attunity Connectors for SSIS,以保证比OLEDB更高的性能来源:

针对Oracle和Teradata的Attunity高速连接器已被Microsoft选中,并包含在SQL Server Integration Services(SSIS)中。

© www.soinside.com 2019 - 2024. All rights reserved.