问题:
生产环境实时打标超时;
分析原因:
“实时打标java服务中,只创建数据库Connection,没有关闭数据库Connection,导致数据库连接池耗尽,无法再次获取数据库链接”;
解决:
实时打标java服务中,增加 ”关闭数据库Connection“;
实时打标存储过程中,结尾处增加"关闭dblink命令,及时释放占用的dblink资源"
----
命令:dbms_session.close_database_link(CONN_MY_LINK);
或者 execute immediate 'alter session close database link dbl_to_pridev'---使用这个命令;
相关文档:
如果开启"removeAbandoned",那么连接在被认为泄露时可能被池回收. 这个机制在(getNumIdle() < 2)
and (getNumActive() > getMaxActive() - 3)时被触发.
举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".
但是活动连接只有在没有被使用的时间超过"removeAbandonedTimeout"时才被删除,默认300秒.
在resultset中游历不被计算为被使用.
and (getNumActive() > getMaxActive() - 3)时被触发.
举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".
但是活动连接只有在没有被使用的时间超过"removeAbandonedTimeout"时才被删除,默认300秒.
在resultset中游历不被计算为被使用.
解决实时打标服务数据库连接池耗尽问题
本文分析了生产环境中实时打标服务出现超时的原因,并提供了详细的解决方案,包括如何正确关闭数据库连接以避免连接池耗尽的问题。
1343

被折叠的 条评论
为什么被折叠?



