在一个网站,我可以连接到Oracle数据库与SQL开发,把它闲置了很长的时间(例如,> 60分钟),并返回超时,和它的罚款。在第二个站点,如果它闲置超过5-10分钟(我没有准确计算),它将使SQL Developer处于新操作超时的状态,我需要手动“断开连接”,然后按顺序重新连接做任何有用的事情。这似乎是第二个站点的连接超时,我不知道是什么原因造成的(我想知道如何关闭它,虽然这不是我的主要问题)。ODP.NET:避免与连接连接池
我的程序使用ODP.NET并处理突然出现的数据。每隔30分钟(为了讨论的缘故),它会得到一堆数据来处理这将涉及许多重复的连接。它也使用连接池。我已经设置连接池使用5分钟的生命周期。
什么,我在第二现场看到(而不是在第一)是我的程序将获得连接超时异常(例如,ORA-03113)在每个数据突发开始。我认为正在发生的事情是,在数据突发期间,连接池按设计使用。在喷发结束时,检查“连接生存期”,并且连接不太旧,所以它留在连接池中。然后,30分钟后,当新数据到达时,连接将从池中取出(并且不会检查生存期或超时)并使用,并且正在超时,就像我在SQL Developer中看到的那样。
我怎样才能避免连接超时,但仍然采取喷期间利用连接池?从文档(以及我的经验)看来,连接只在进入游泳池时才被检查,而不是在连接出现时才被检查。
在这些问题上没有足够的知识,但我们有一个非常类似的问题(更改了数据中心)。新的数据中心将会终止任何超过X分钟的任何未开放活动的端口(我们遇到的问题与您在SQL Developer和其他长时间运行的流程中所遇到的问题完全相同),我们拒绝了主机公司,他们结束了(但他们简单地建议我们实施一个脉冲,只是为了ora连接而被拒绝),但它需要他们的努力。祝你好运! – Harrison 2010-12-09 19:31:36