【发布时间】:2015-05-25 08:49:54
【问题描述】:
我有一个 .NET 服务,它每 2 分钟轮询一次 Oracle 数据库以获取记录。
但服务在运行几个小时后停止与 Oracle 通信,并引发异常。
我在 DB 级别进行了验证,发现有 155 个 INACTIVE 会话。我重新启动了我的服务,然后当我检查时,我的服务有大约 70 个 INACTIVE 会话。
此过程导致我的服务出现异常并因此中断工作。谁能帮我理解问题出在哪里?
为什么不关闭会话或重新使用现有的会话。
【问题讨论】:
-
你说它“抛出异常”。如果您指定了您得到的异常,那将非常有帮助。我们很难猜测。如果您正在查看
v$session,那么当会话在该特定时刻没有执行 SQL 语句时,它就是INACTIVE。绝大多数会话将在绝大多数时间内处于非活动状态。 -
我没有正确关闭连接。我在这个地方识别并关闭了它们,现在它工作顺利。谢谢贾斯汀洞穴。
标签: oracle session service timeout