系统:Kylin 10
DM8:24Q1
应用打包成了容器,使用spring连接达梦数据库,达梦数据库部署了两个模式LOG和YEWU,分别归属JIEYUN和YEWU用户管理。
因此访问这两个模式,需要用到两个不同的连接访问。
不小心删除了LOG模式。
此时重新启动应用,发现应用一直重复向达梦发送SESSION,通过查询V$SESSIONS,查看session的sql语句为
SET SCHEMA LOG;
但是该会话,马上就会变为idle状态。
一开始的时候,达梦数据库还会回收销毁session,但是过了几十秒以后,应用一直在重复发送相同的SESSION请求。此时,发现V$SESSIONS中的记录数只增不减,达梦没有回收session了,只能看着会话一直增加到MAX_SESSIONS=1500限制数量为止。
此时,关闭应用,会话销毁1200个,剩余200多个idle会话,而这300个会话,等了好几分钟,达梦也没有销毁。
TCP连接也有200多个没断掉
上面如果不等待session增长到1500的话,比如在session只有200个,500个时候,中途关闭应用,session能全部回收销毁。
那300个会话,你查询select * from v$sessions; 可以看到用户与产生IP,你看一下与你关闭的应用IP是同一个吗