记录一次数据库连接失败的事件

问题描述

  1. 使用postman调用restful接口时,返回500错误
  2. 接口性能监控工具,能够看到接口调用的记录
  3. 系统日志当中,没有500错误产生是的异常,日志最新的更新时间也不是接口调用的事件
  4. 查看docker运行状态,服务已经启动

问题分析

  • 能够返回500业务,能够在性能监控工具看到调用记录,说明程序在运行。
  • 日志没有更新,说明系统运行停在了某个点,但没有exception能够看得出来,如果是防火墙,或者远程调用出问题,会有异常产生
  • 刚接手项目,还有很多不熟悉的地方,所以找领导帮忙,领导找到了异常日志。系统连接的两个数据库,其中一个连接不上。
<Jul 11, 2024 9:54:31,163 AM HKT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "JPATXNwcc": IO Error: Connection reset by peer, Authentication lapse 59994 ms..> 
[EL Severe]: 2024-07-11 09:54:31.178--Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.3.v20160526-8f41838): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Cannot obtain XAConnection
  • 本地连接数据库,也是无法连接成功
An error was encountered performing the requested operation:
 
IO Error: Got minus one from a read call, connect lapse 28 ms., Authentication lapse 0 ms.
 
Vendor code 17002

所以,是数据库的问题。

DBA检查

防火墙问题

找DBA, DBA给的第一个原因,是防火墙挡住了。发邮件找防火墙团队,开防火墙,但防火墙开通后,还是报同样的问题。

数据库问题

防火墙开通以后,使用sql developer连接数据库,还是报同样的问题。所以继续找DBA找是什么问题。

磁盘空间满了

DBA平时工作也比较忙,响应速度比较慢。不过还好,给出了一个问题的原因

OracleDB有很多日志产生,数据库mountpoint满了,DBA正在删日志。

好吧,觉得这可能是问题的根本原因。

数据库连接

半个小时后,DBA说删完了,但还有另外一个问题,一个账号建立了几百个数据库连接,数据库连接数被占满了。

select count(1) ,  inst_id, username from gv$session group by inst_id, username ordr by inst_id

数据库连接被占满了。。。 然后发消息过去,又长时间没有回复。

咋办?

重启一下应用吧。。。

没作用,那这些数据库连接是谁连过去的?DBA你倒是帮我查查呀,你有权限可以看到从哪里来的。

好吧,又一段时间,DBA回复说, OEM占用了数据库连接,而且他已经打不开OEM了,再问,他说正在杀session。

又一段时间。。。

删完了,应用可以连上数据库了,OEM也可以正常使用了。

与同事确认过, OEM已经不是第一次出现这种问题了, 在OEM这里有连接池设置吗? DBA似乎也不清楚,有时间自己查查文档吧。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

威赞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值