故障现象:市场反应,企业可以连接数据交换平台,但是不能收发报文。服务器已经被市场人员reboot过了,问题依旧。
问题分析及处理过程:
1、通过公司的监控诊断工具,连接远程的数据交换平台来模拟接收和发送报文,发现接收方的确接收不到报文。
2、登录服务器查看tcp连接状态
netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
显示time_wait有3200,established有2300多
3、ulimit -a查看最大可打开文件数,均为默认的1024
4、查看平台的日志
5、经过分析是mysql数据库平台报文表文件损坏,导致操作平台报文表失败,和市场人员沟通后,准备修复此表
6、停止平台应用
7、停止mysql数据库
8、修复上述表的数据库文件
切换到数据库文件的当前路径,下面的table_name记得写你自己的表名
执行myisamchk -r table_name 十分钟后,修复结束,并提示读取文件第6行错误,此表大概几千万条记录
再执行myisamchk --safe-recover table_name 2分钟后完成修复,并修复成功
9、启动mysql
10、启动平台应用
11、使用监控工具,测试可以正常接收报文
12、通知市场验证问题是否解决
13、市场确认问题解决