neverstopforcode 2020-05-26
某一生产环境下,同事反映,应用无法连接数据库,尝试通过disql连接测试,出现如下错误提示:![Linux平台达梦数据库V7之[-70019]网络通讯失败 Linux平台达梦数据库V7之[-70019]网络通讯失败](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDcJRXAIsn7q3iLfAi2shMsA8PdeMrmBg8NDq7aOg8uIw.png)
从上图明显看出错误信息:[-70019]:网络通讯失败
由于现场是HA环境,通过查看主机下的数据库运行日志,发现有如下提示:![Linux平台达梦数据库V7之[-70019]网络通讯失败 Linux平台达梦数据库V7之[-70019]网络通讯失败](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDcJRXAIsn7q3iLfAi2shMsNnXp-ZauruNO5GTONySsKw.png)
由上图看出,日志中有明显提示:Reached the max session limit,达到最大连接;
select para_name,file_value from v$dm_ini where para_name=‘max_sessions‘;![Linux平台达梦数据库V7之[-70019]网络通讯失败 Linux平台达梦数据库V7之[-70019]网络通讯失败](https://cdn.ancii.com/article/image/v1/sw/wV/kP/PkwwVsGDmjDG9swnOi7SkjVAsMQAarn73E9S3mmSmcDcJRXAIsn7q3iLfAi2shMsBhaamXFWlakaTOkaNUwU0w.png)
从上图可以看出,现场环境中数据库的最大连接数为100,针对一个比较大的系统,明显不足。
在现场的两台服务器上分别执行,通过命令:find / -name dm.ini
找到这个dm.ini文件,然后修改一下里面的参数max_sessions,将它的值修改为500或800,然后执行如下命令重启HA及数据库:
/etc/init.d/openais stop
/etc/init.d/openais start
再连接测试,问题解决。