0

上周五我工作的地方,升级了一个 oracle 客户端,我们的 IIS 服务器从版本 9 到版本 10。现在它在版本 10 上,我们看到很多连接正在打开到数据库。它打开了如此多的连接,以至于我们无法使用 PlSQL 开发人员或 Toad 等工具登录数据库。当 Oracle 客户端版本 9 时,我们从来没有遇到过这样的问题。由于这个特定盒子上存在的客户端数量,我认为不可能恢复到 Oracle 9 客户端。有没有人知道这个问题或知道任何可能的解决方法?

任何帮助是极大的赞赏

4

2 回答 2

1

您使用的是哪个连接库?OO4O、ODP、其他?

我在这里根据旧问题的记忆工作,所以细节有点模糊。使用 OO4O 有两种不同的方式来初始化库。一个尝试重用连接比另一个更多。

在 ODP 中,默认使用连接池。有时这会导致额外的连接,以防再次需要它们。池连接存在一些问题,导致我将其关闭。(如果在死连接上调用 PL/SQL 过程可能会挂起)

如果您获得更多信息,我会尽力澄清

让我们知道您的发现并祝您好运

于 2008-09-16T11:48:36.277 回答
1

非常感谢您的回复,这对我们非常有用。我们将我们的问题发送给 Oracle 并得到了以下回复

============ 这是注释中讨论的一个已知问题:417092.1 Oracle Objects for OLE (OO4O) 使数据库连接保持打开状态

您的问题:“10g 客户端接口是否允许 ASP 代码/类功能与 9i 客户端相同?”

此问题的解决方法是执行循环以删除所有参数。例如 -

for i = 1 to OraDatabase.Parameters.Count OraDatabase.Parameters.Remove(0) next

错误 5918934 如果未删除 OraParameters,OO4O 会留下会话已针对此行为记录,并且由于解决内存问题所需的体系结构更改,已被视为“无法修复”。

我们确实在我们的代码中实现了一个循环来删除参数,但是再看一遍,看起来它并没有删除所有参数。我们目前正在对此进行调查。

一旦我们确定了解决方案,我会回信给这篇文章

达米安

于 2008-09-17T08:37:05.120 回答