暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

网络通讯异常故障处理分析

116


总结


通过这些问题告诉我们对问题的分析不能只看表象,同时也不能想到过于复杂。如果一开始就能对用户资源限制、中间件连接池排查,就能及时解决问题不至于导致问题验证。

故障现象


网络通讯异常通常有以下几个原因导致问题

Ø达梦数据库的服务没有启动

Ø远程访问被防火墙拦截

Ø端口号不对

Ø达到最大会话数限制,无法建立新的连接

Ø数据库服务端对连接资源进行限制终止

Ø应用端连接配置限制资源使用将连接终止

处理方法


通常网络通信异常排查主要点有:

1、 ping ip是否通,telnet 端口是否通

ping不通不表示不可用

echo “1” > proc/sys/net/ipv4/icmp_echo_ignore_all

注意:Ping命令基于ICMP协议,ICMP为网络层协议,是一种面向无连接的协议,没有建立真正的传输链路,只能作为网络是否可达的参考,以上配置情况就可能ping不通,实际是可用的

2、 开启jdbc日志,打印完整日志,排查配置是否正确

jdbc:dm://127.0.0.1:5236?logLevel=all&logdir=D:\jdbclog

注意:如果配置是在xml文件中配置,需要对&转义

jdbc:dm://127.0.0.1:5236?logLevel=all&logDir=d:\jdbclog

3、 连接数超限排查,新版本disql SYSDBA登录查询会话占用最多的ip;老版本,通信系统命令排查应用ip

数据库层:

select clnp_ip,count(0) from v$sessions group by clnp_ip

用户空闲连接限制:

SELECT a.username,b.CONN_IDLE_TIME,b.SESS_PER_USER,b.FAILED_NUM,b.LIFE_TIME,b.REUSE_TIME,b.REUSE_MAX,b.LOCK_TIME,b.GRACE_TIME,

b.LOCKED_STATUS,b.ALLOW_ADDR,b.PWD_POLICY FROM DBA_USERS a,SYSUSERS b WHERE A.USER_ID=B.id;

注意如配置空闲断开连接时间需排查中间件连接池空闲时间检查时间,如中间配置时间大于数据库空闲断开时间,检测线程延迟导致应用使用到无效的线程。

操作系统层:

Ps -ef|grep dm.ini

netstat -anp|grep dmserver|grep ESTABLISHED|awk '{print $5}'|awk -F ":" '{print $1}'|sort -nr|uniq -c|sort -nr

4、 句柄资源限制导致的连接无法创建,linux下一切皆文件

Ulimit -n 65535 临时修改 会话级别的

全局修改:

echo “ dmdba soft nofile 65535” > /etc/security/limits.conf

echo “ dmdba hard nofile 65535” > /etc/security/limits.conf

5、 内存资源限制导致的连接无法创建

cat /proc/sys/vm/overcommit_memory

cat /proc/sys/vm/overcommit_ratio

建议是 overcommit_memory=0

overcommit_ratio=10 当overcommit_memory=2时表示当内存使用剩余达到overcommit_ratio这个比例,将使用swap区

6、 dm.ini配置中LISTEN_IP有配置,则只能使用此IP进行数据库连接访问

7、 检查中间件连接池配置

8、 检查数据库用户资源限制,例如空闲时间、持续时间


文章转载自国产数据库学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论