1

使用 Oracle 11g 和 asp.net 处理连接池的最佳方法是什么,我遇到了 Oracle 在一段时间后拒绝为 Web 应用程序打开任何新连接的问题。

这会导致请求超时并排队。!

编辑: 我需要在 Oracle 中做些什么来微调这个吗?

4

3 回答 3

2

由于您没有提及您的 Oracle 配置,因此很难告诉您第一个行动方案,因此您需要澄清您有多少个会话。

SELECT username, count(1) FROM v$session GROUP BY username;

Oracle 的最大值由“PROCESSES”实例参数控制。默认值可能类似于 150。对于 OLTP Web 应用程序,您可以尝试将其提高到 300 左右,但是,如果您确实有泄漏,它只会延迟不可避免的事情。但请检查 PROCESSES 是否至少与 Oracle ADO 连接字符串的“最大池大小”设置一样大。我认为 11g ODP.NET 的默认值为 100。

于 2010-01-22T21:04:16.743 回答
0

查询 v$session 将显示所有未完成的会话。您有多少连接以及您尝试创建/断开连接的速度有多快?共享服务器是让多个终端客户端共享有限数量的连接的一种机制。

于 2009-11-24T21:44:24.220 回答
0

您需要做的就是关闭连接。框架应该处理所有的池。

于 2009-11-24T15:52:47.553 回答