记weblogic 连接池满无法链接故障诊断过程
前段时间公司负责建行的一个票据系统在,上线前几个分行试运行环境下,每天后台日志都会报oracle.jdbc.xa.OracleXAException,前台无法正常访问
通过使用weblogic的测试数据库链接,弹出无法链接提示信息,但是发现连接池使用才10个,而最大连接数60个,监控分析没有发现连接数使用满的迹象。
那个时候我们公司的老总以及客户方项目领导非常着急,都忙着找人帮忙解决,客户方也请了他们建行自己的高手过来解决,我们公司老总也打电话四处咨询
寻求解决方案,因为我是做性能测试的也被叫过去帮忙查看问题,第一天早上问题出现后,我第一反映就是重新设置连接数,设置最小值最大值80,然后重新清除下
JDBC缓存,那天是没发生问题了,但是第二天问题又重现了,客户方技术人员把连接数减少到60,然后设置不使用 Supports Global Transactions,那天下午
问题没在复现,项目组人员都安心了以为问题解决了。只是那时我心里纳闷了,感觉这个不能解决问题,但是当天下午没复现问题我也不能说什么,只能继续低头
查看分析日志,如果不出现说明人家是对的,也说明我的经验不足,但是万一在出现还得在找解决方案,毕竟这是我们公司负责的项目,万一真实生产环境一运行
每天都这样出问题,那这个系统就算是废了。所以还是低头继续分析问题。
果然第三天问题还是出现,客户方、公司领导真的都着火了,继续打电话咨询高手,有人提出数据库连接数不足,需要设置大一些,然后重启数据库,
那天我还是没找出问题点,但是客户方要求根据那个高手建议去调整,我只是提了下说这样应该没效果,因为功能测试环境、性能测试环境同样配置都没出问题应该
不是这个问题,但是在这个时间段谁听啊,能解决问题就行,都是死马当活马医了。不过我当时也没想出解决方案,只能静观其变了。就这样那天下午问题没重现
在第四天早上过来时,项目组的人都在开心的认为问题解决了,可惜的事情还是发现了,第四天早上11点多的时候,突然我同事给我打电话说问题重现了。该怎么办
那时我刚好在开会,开完会回来,我重新看了下错误日志,还是报“oracle.jdbc.xa.OracleXAException” 同样的错误信息,于是我好奇的问了下,你们JDBC
连接数是不是一开始设置错误,然后重新设置过,因为我发现使用的JDBC驱动跟报的错误提示信息不一样,那个集成配置人员说是有配置错误过,重新选择
Database Driver ,这下我大概明白问题点了,我建议重新删除数据源重新配置一次性配置正确,一开始项目组领导还真不信,觉得这不能解决此问题。
只能说我人微言轻,他们不信是正常的,一个做性能测试的哪能解决这种故障,而且请了很多资深高手都没得以解决。我看出他们的心思,就笑了笑说
这是BEA官方说的,其实哪有什么官方,看都没看过,上班又不能上网,哪能去看什么官方文档,说不定官方文档也没这个问题记录呢。
谁知,我一说是官方文档说的,而且加以他们实在找不出解决方案了,迫不得已,接受我的意见。
就这样我着急的等了第五天的来临,第五天到下午问题还没出现,我走去问 了下领导说,今天没出现那个问题吧,领导回答很干脆是没出现,但是是因为这个项目
周五没人用所以不会出现,我只能伪笑了回答哦,起始这个问题跟是否有人使用关系不大,就是配置错误,但是一下子说不出具体理由过来,说实话我那时
也没说服力,反正很多时候我去解决不同项目的故障问题,很多都是凭感觉的虽然到现在每次都蒙对,但是很多都是凭直觉来做的。就这样等了几天问题没出现了。
说明我的推理正确,这个项目的领导很淡定,我们公司的领导也很淡定,解决后没跟我说啥,就当没事发生,o(∩_∩)o 哈哈 ,我也跟着淡定。反正这些年解决了
很多建行项目多年没解决的故障问题,很多领导都感觉很淡定是应该的。习惯就好,反正对我来说又积累一次故障诊断经验就行。