达梦数据库报网络通讯异常排查步骤
- 一、数据库服务dmserver是否启动
- linux 服务器
- windows 服务器
- 二、网络是否通畅
- 三、端口是否正确
- 四、最大会话连接数达到上限
使用达梦数据的过程中,偶尔会遇到网络通讯异常的报错。
遇到这种情况的时候不要慌乱,按照步骤进行排查即可。
一、数据库服务dmserver是否启动
linux 服务器
执行 ps -ef | grep dmserver,查看进程是否存在;
windows 服务器
使用达梦服务查看器(dmdbms\tool\dmservice.exe 查看达梦数据库实例服务)检查服务是否启动;
二、网络是否通畅
使用 ping IP方式查看网络是否通畅,telnet IP 端口方式查看端口是否开放。
若时端口未开放需要在防火墙中设置放行端口。
此处已 Linux 下为例:
直接编辑/etc/sysconfig/iptables 文件
1.编辑/etc/sysconfig/iptables 文件:vi /etc/sysconfig/iptables
加入内容并保存:-A RH-Firewall-1-INPUT -m state–state NEW -m tcp -p tcp --dport 5236 -j ACCEPT
2.重启服务:/etc/init.d/iptables restart
3.查看端口是否开放:/sbin/iptables -L -n
三、端口是否正确
数据库初始化实例默认端口为5236,若是初始化时未修改端口则为默认值。使用达梦管理工具或 jdbc 等其他接口访问数据库,若未单独指定端口号,则默认使用 5236 端口;
端口号相关设置默认在 dmdbms/data/DAMENG 目录下的 dm.ini 文件中搜索PORT_NUM,确认端口号后,再使用正确的端口号访问;
参数说明:PORT_NUM 服务器通讯端口号, 有效值范围(1024~65534);
四、最大会话连接数达到上限
先确定是否达到最大会话数限制,在 dmdbms/log 目录下,查看当月日志,例如,本月(2 月)的日志名为:dm_DMSERVER_202102.log 若日志中有 reach the maxsession limit 的提示,则说明达到最大会话数限制。
dm.ini 文件中,MAX_SESSIONS 参数,默认为 100,可根据实际需要调整
参数说明:MAX_SESSIONS 系统允许同时连接的最大数,同时还受到 LICENSE 的限制,取二者中较小的值,有效值范围(1~65000)
若应用连接池设置的最大连接数设置为 400,则需要修改 dm.ini 中 MAX_SESSION 参数>400,在数据库中执行 SP_SET_PARA_VALUE(2,‘MAX_SESSIONS’,500),然后重启数据库即可;