问题描述:
系统割接后,中间件和数据库进行了防火墙隔离,导致WAS应用访问数据库慢的问题。由于数据库和应用都进行了割接,系统架构由原先的单一网络变成了跨系统部署,数据库和应用之间的访问通过防火墙;而防火墙这边对空闲的连接配置了超时时间(目前是30分钟),一旦超过时间,会自动将连接断掉;而断掉后,was应用这一侧的数据库连接池这边还是认为该连接有效,它只在应用获取该连接时才会进行一个有效性测试,会每间隔一个时间尝试一次,尝试n次后才确定该连接失效,发起重连,最终造成业务耗时长。
由于was的连接池连接数很多,势必造成有部分连接空闲时间超过了防火墙的设置,而was这边我们没有配置对空闲连接的维护参数,空闲连接会一直认为有效,所以该现象只会出现在was的空闲连接上;当应用获取已被防火墙断开的空闲连接时,就会造成应用的响应慢。
解决办法:
针对该现象,我们对was的连接池这一块的参数进行了优化,增加了对空闲连接的未使用超时和时效超时(小于防火墙的配置),优化了现有连接有效性测试的相关次数和间隔时间配置,使得应用侧从连接池中获取到的连接均有效,周二晚上重启后至今,日志中未再产生线程挂起的报错现象,初步断定问题得以解决。
更详细的描述和此类问题的说明文章可以参见如下
http://www.ibm.com/developerworks/cn/aix/library/0808_zhengyong_tcp/index.html
分享到:
相关推荐
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
Linux 常用命令 oracle rac 中文手册 官网翻译 oracle rac
oracle C# ManagedDataAccess.dll连接的小实例
在linux上通过JDBC连接ORACLE 时总是出现 java.sql.SQLRecoverableException: IO Error: Connection reset 的问题
Oracle数据库遭遇到防火墙
Oracle连接常见问题 Oracle连接常见问题
Windows上Oracle开放防火墙端口问题.pdf
Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具...
C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法C#中连接oracle连接方法
ORACLE 连接设置方法很多,这里写四种,但主要是远程连接方法。 第一种情况: 若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否...
修改oracle参数,解决内存的限制,从而解决连接数问题
Oracle连接类Oracle连接类Oracle连接类Oracle连接类Oracle连接类
(PROTOCOL = TCP)(HOST = 192.168.xx.xx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 主要的参数为HOST、PORT、SERVICE_NAME 可能的问题: * 连接超时:很大可能性是windows自带的防火墙开着,...
这是用连接池技术管理连接oracle数据库的工具类代码,如果想连接MySQL,直接修改配置文件即可。
oracle修改最大连接数
Oracle数据库防火墙使用经验及数据库安全管理的思考.pdf
本驱动连接的版本为oracle 10.2.0.3.0
在用net configuration assistant 连接远程服务器时,总是被服务主机上的防火墙所阻挡,该文件教你如何让oracle穿越windows防火墙