我有一个带有指向 Oracle 11 数据库的链接服务器的 SQL Server (2014 SP2)。
我对 Oracle 视图有一个非常简单的选择语句,我知道它应该返回大约 140k 行。但事情是这样的,当我在 SQL Server 中运行它时,我会立即在结果窗口中看到记录,但是突然之间,查询挂起,因为它到目前为止只返回了大约 2000 行并且它只是永远坐在那里什么都不做。有时,在它再次挂起之前会出现另外几千行。
查询的等待状态在预期的 OLEDB 上。我在想某种网络瓶颈...?
有时我确实会在一段时间后收到错误:无法从 OLE DB 提供程序“OraOLEDB.Oracle”获取一行
在任何人建议之前,在提供程序设置上勾选了“允许进行中”。
我正在寻找在 SQL Server 端或 Oracle 端解决此问题的想法,以检查它是否不是数据库配置问题。
只是为了将来遇到这个神秘问题的人......
通过删除 VMWare NSX 中 TCP 端口 1521(Oracle 默认)上的数据包检查规则,此特定问题已得到解决。这导致了数据从我们的 Oracle 基础架构 (IBM AIX) 流出并返回到我们的 NSX 基础架构的瓶颈。