一个在用5年的项目生产数据库,最近两周频繁出现process超出最大限制的错误,查看prcoess数量的时候发现process数量比session高很多,多出来的process都无法找到关联的session。
因为项目有项目组负责,并且在异地,运维还没反馈数据库日志,目前没有日志可以分析,想先缕一缕思路。
首先怀疑是session结束掉以后process没有及时释放,确认了运维人员没有手动killsession,尝试模拟应用程序或者在pl/sql中各种连接释放问题,都体现在session数量上面而并不会有session释放process未释放的情况,有朋友告诉我说曾经在存储过程里某个写法会导致这个问题,但是不记得具体怎么实现。
然后是怀疑存在什么情况建立连接失败产生了process而没有产生session,首先是怀疑网络,但是运维反馈网络无异常,有其他可能存在的原因吗。