【问题描述】:
在 DM 达梦数据库的运行日志中出现大量 Failure occurs in data_recv_inet_once 警告信息,如下图:
[WARNING] database P0000005986 T0000000000000022168 Failure occurs in data_recv_inet_once, code(13) len(32576, 0)
[WARNING] database P0000005986 T0000000000000022168 Failure occurs in data_recv_inet_once, code(13) len(32576, 0)
[WARNING] database P0000005986 T0000000000000022168 Failure occurs in data_recv_inet_once, code(13) len(32576, 0)
【问题解决-方法1】:
如果 WARNING 非常频繁,可能会导致告警日志文件特别大。这里的 Failure occurs in data_recv_inet_once 是消息检验的告警,与网络环境有一定的关系,网络不稳定的情况下触发此告警的可能性较大,可以直接修改 dm.ini 的 COMM_VALIDATE 参数来关闭该功能。该参数可以动态或系统级修改,用来控制是否对消息进行校验。0 表示不检验;1 表示检验,默认值为 1。
关闭消息校验的警告操作如下:
---查看 COMM_VALIDATE 参数
select para_name,para_value,description,para_type from v$dm_ini where para_name='COMM_VALIDATE';
---修改参数 COMM_VALIDATE 为 0
SP_SET_PARA_VALUE(1, 'COMM_VALIDATE', 0);
---修改完成后在 dm.ini 中检查是否参数是否已修改。
cat dm.ini |grep COMM_VALIDATE
【问题解决-方法2】:
这是通信中产生的告警信息,错误代码是操作系统返回的,107 Transport endpoint 传输终点没有连接,在系统繁忙的时候会刷这个,通常可以忽略
1.可以看下数据库参数COMM_TRACE是多少
select para_name,para_value from v$dm_ini where para_name='COMM_TRACE';
COMM_TRACE 默认值0,动态,会话级,服务器日志是否记录通信中产生的警告信息。0:不记录 1:记录
- 可以改成0不记录此类警告,修改方法:
sp_set_para_value(1,'COMM_TRACE',0);
- 修改完成后在 dm.ini 中检查是否参数是否已修改。
cat dm.ini |grep COMM_TRACE
更多信息请查看:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台