达梦数据库应用连接失败问题总结

问题描述:

客户反馈应用连接失败,通过服务器端disql 登录数据库,提示登录失败Network communication failure

问题排查:

查看数据库server日志发现报数据库达到最大连接数,查看MAX_SESSIONS的值是1500,

尝试调整MAX_SESSIONS值为3000,重启数据库。

重启数据库发现数据库还是报连接数满了,并且发现数据库还在恢复中,继续重启数据库之前的恢复操作,数据库重启之前恢复了15个page,重启之后继续回滚剩余的203个page,并且持续报reached max session limit。

但是统计数据库的连接数,实际数据库的session并没有达到最大值3000

等待数据库恢复完成,大概三个小时之完成数据库恢复,数据库处于open状态,但是还是持续报reached max session limit。

Jstack转储数据库server进程堆栈信息,发现连接数一直满,没有释放。

从操作系统日志看到,数据库halt时,操作系统会转储数据库进程,发生coredump。

通过分析coredump信息,可以看到每次发生io读超时,会触发数据库halt,数据库挂了之后,守护进程会自动拉起数据库,数据库进入启动进程并恢复数据库一致性状态。

问题解决:

出现这个问题,内部分析可能跟FAST_LOGIN有关,尝试将值设置为1,更改参数后重启数据库,数据库可正常连接。

FAST_LOGIN :是否在登录时记录登录失败历史信息。 0是,同步记录; 1否,不记录; 2是,异步记录,当同一个用户的登录失败记录数超过100,则清理前面过早的登录失败记录,避免登录相关系统表SYSACCHISTORIES膨胀

总结

猜测rollback过程中会报maxsession,因为开启fast_login会去写SYSACCHISTORIES表并更新SYSUSER视图,因此推测rollback过程中路落盘登录信息的时候,tastk队列满,因此误认为max_session满。

达梦技术社区:https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值