在oracle中一直有10几个资源不释放,而且是处于非活动状态,甚至有的持续了1周多了,请问这是什么原因造成的?如下图所示:
备注:程序里面所有连接数据库的地方连接完成后都已经关闭了连接。
------解决方案--------------------
配置 sqlnet.ora sqlnet.expire_time 参数 单位分钟
------解决方案--------------------
楼主,关闭链接时要做:
OCISessionEnd
OCIServerDetach
OCIHandleFree
看看你调用的函数中,是否包含了这几个方法。
------解决方案--------------------
SQLNET.EXPIRE_TIME
Purpose
Use parameter SQLNET.EXPIRE_TIME to specify a the time interval, in minutes, to send a probe to verify that client/server connections are active. Setting a value greater than 0 ensures that connections are not left open indefinitely, due to an abnormal client termination. If the probe finds a terminated connection, or a connection that is no longer in use, it returns an error, causing the server process to exit. This parameter is primarily intended for the database server, which typically handles multiple connections at any one time.
Limitations on using this terminated connection detection feature are:
?It is not allowed on bequeathed connections.
?Though very small, a probe packet generates additional traffic that may downgrade network performance.
?Depending on which operating system is in use, the server may need to perform additional processing to distinguish the connection probing event from other events that occur. This can also result in degraded network performance.
Default
0
Minimum Value
0
Recommended Value
10
Example
SQLNET.EXPIRE_TIME=10
------解决方案--------------------
10几个资源不释放,而且是处于非活动状态,oracle 解锁下呗。
------解决方案--------------------
这个应该是只针对一个应用提供服务的吗?最长的有一周时间?个人感觉还是程序断的问题可能性比较大。