我们在项目中,经常会遇到“网络通信异常”的报错信息,遇到该类问题具体如何排查?下面结束一些常见的错误及解决办法。
1、 网络故障
可以在报错机器上面ping数据库服务器IP的方式验证网络是否通,也有可能遇到服务器禁ping的情况,这个时候可以在数据库服务器上ping报错机器的IP来反向验证,或者通过拷贝文件等方式验证。
2、 端口限制
首先排查数据库服务器的防火墙是否关闭,排查方式systemctl status firewalld或者service iptables status等方式验证。
硬件防火墙可以通过关联界面放行端口号。
Selinux是否修改,查看/etc/selinux/config,确保SELINUX=disabled。
3、 操作系统资源限制
通过ulimit –a查看操作系统资源是否调整,重点关注open files值是否修改。一般没有按照规范安装的时候会遇到,这个时候通过操作系统日志和数据库运行日志也可以看到。
4、 数据库连接数限制
数据库最大连接数限制,可以通过select * from v$dm_Ini where para_Name in (‘MAX_SESSIONS’,’ MAX_SESSION_STATEMENT’)查看,主要看这2个值。正式版本的话还要看达梦的授权文件,是标准版、定制版(限制用户数)和企业版等,最大连接数受MAX_SESSIONS值和授权用户数限制,2者取小。
5、 数据库服务器资源限制
这个问题一般不好排查,在压测的时候,如果遇到“网络通信异常”的错误,但是前面排查又都正常,可以往这方面排查。可以通过select datediff(ms,last_send_time,sysdate) time_used,sf_get_session_sql(sess_Id) full_sql from v$versions where state=’ACTIVE’;查看是否有慢SQL,当活动的会话特别多的时候,服务器资源达到瓶颈,这个时候新建连接无法连接到服务器,也会报网络通信异常的错误。
6、 其他问题
目前遇到较多的主要是这类,其他问题待补充。
文章
阅读量
获赞