|
|
1
15
所以我连接的用户有无限的空闲时间-没有超时。 |
|
|
2
3
亚当已经建议了数据库配置文件。 你可以查一下SQLNET.ORA文件文件。有一个 EXPIRE_TIME 参数,但这是用于检测丢失的连接,而不是终止现有的连接。 如果是一夜之间发生的,听起来更像是空闲超时,可能是应用服务器和数据库服务器之间的防火墙造成的。设置过期时间 阻止这种情况发生(因为每隔10分钟会有一次检查来检查客户机是否处于活动状态)。 或者数据库正在关闭并重新启动,这可能会终止连接。 或者,您应该能够使用 validationQuery 因此,它将自动重新启动连接,而无需tomcat重新启动 |
|
|
3
3
在您重新启动服务器后开始出现这种情况的原因是,连接池可能是在没有重新启动的情况下添加的,并且您刚刚体验到连接池的第一次使用。处理数据库连接的资源文件的修改日期是什么?
编辑: Grails 1.2
|
|
|
4
2
我来问这个问题是为了寻找一种方法,使oracle会话池基于总会话生存期而不是空闲时间过期。 似乎可以设置游泳池 validation query 到
|
|
|
5
0
数据库是否知道连接已断开,或者会话仍在v$session中列出?我想,这表明它正在被网络删除。您知道在遇到问题之前它可以保持空闲多长时间吗,以及它是否与TCP idle值有任何相似之处(网络ipv4.tcp\u keepalive \u time、tcp\u keepalive \u probe和tcp\u keepalive \u interval from sysctl(如果我调用正确的话)?无法记住sysctl更改是否在默认情况下保持,但这可能是已修改的内容,然后在重新启动时重置。 另外,您还可以在不影响整个服务器的情况下重置JDBC连接;当然可以在WebLogic中重置JDBC连接,我意识到这并没有多大帮助,但我不熟悉Tomcat的等价物。 |
|
|
6
0
检查应用程序连接池设置,而不是更改oracle db上的任何会话超时设置。他们超时是正常的。 请看这里: http://grails.org/doc/1.0.x/guide/3.%20Configuration.html#3.3%20The%20DataSource
问候语, 拉尔斯
编辑:
|