如何让Oracle SQL Developer关闭数据库连接?

Kev*_*ock 36 oracle oracle10g oracle-sqldeveloper

有没有办法让Oracle SQL Developer不关闭我的数据库连接,或者增加超时?有时在长时间运行的查询期间,SQL Dev将关闭连接,让我的查询在服务器上运行,但我没有结果.如果我RDP进入服务器并在本地运行SQL Dev,它似乎永远不会有这个问题.

Del*_*rth 29

我没有这方面的答案,但我遇到了同样的问题.

我的SQL Developer和数据库之间的防火墙自动关闭"非活动"会话.长时间运行的查询根据防火墙是非活动会话,因此他将其关闭.我还没有找到如何让SQL Developer通过长时间运行的查询发送数据包,这样防火墙就不会关闭连接.而且我不知道这是否可行.

所以我认为这不是SQL Developer的问题,而是防火墙问题.

- 更新

SQL Developer有一个扩展,可以让您保持活动连接:http://sites.google.com/site/keepaliveext/

它还没有完全完成(例如,无论你指定了什么超时,你得到的通知都说明了相同的超时),但它确实有效.我还没有针对最新的SQL Developer预发行版进行测试,但是它与SQL Developer 2.2.x一起使用

- 更新

对于SQL Developer 4+,您可以使用:http://scristalli.github.io/SQL-Developer-4-keepalive/

  • SQL Developer 4.0的工作版本:https://bitbucket.org/scristalli/sql-developer-4-keepalive/overview (3认同)

Dr.*_*r.7 12

这是另一个可能有用的Keep Connection Active扩展.(上面提到的扩展包含了许多在这个问题中解决的问题.)

http://sites.google.com/site/keepconnext/


Dav*_*ann 9

对我来说听起来像防火墙问题.

您可能会在服务器的SQLNET.ORA文件中设置EXPIRE_TIME参数.从文档:

使用参数SQLNET.EXPIRE_TIME指定发送探针以验证客户端/服务器连接是否处于活动状态的时间间隔(以分钟为单位).设置大于0的值可确保由于客户端终止异常,连接无法无限期保持打开状态.如果探测器发现已终止的连接或不再使用的连接,则会返回错误,从而导致服务器进程退出.此参数主要用于数据库服务器,该服务器通常一次处理多个连接.

关于EXPIRE_TIME的10g文档


Mat*_*son 8

这对于SQL开发人员来说听起来不是一个问题,因为我从未遇到过它.你确定它不是别的东西,比如你的网络吗?如果从桌面连接SQL plus,会发生什么.


小智 5

作为它的临时解决方案,在"数据网格"一侧,您将找到"DBMS输出"选项卡,打开DBMS输出并将轮询频率设置为合适的时间.