
常用日志的信息说明
达梦数据库日志主要有 INFO、WARNING、ERROR 和 FATAL 四类信息。
cd $DM_HOMEcd logls -ltr *.log##检查日志中是否有错误信息cat xxxx.log |grep'\[ERROR '##检查日志中是否有警告信息cat xxxx.log |grep'\[WARNING'##检查数据库是否重启过cat xxxx.log |grep'SYSTEM READY'
实例运行日志
##告警信息提示缺少部分动态库,不影响系统运行2025-03-06 17:13:57.999 [WARNING] database p0000052532 T0000000000000052532 fail to load libgeos_c.so.1.13.3, /home/dmdba/dm/dmdbms/bin/libgeos_c.so.1.13.3:cannot open shared object file:No such file or directory2025-03-06 17:13:58.002 [WARNING] database p0000052532 T0000000000000052532 fail to load libgeoj.so,/home/dmdba/dm/dmdbms/bin/libproj.so:cannot open shared object file:No such file or directory该信息表示未找到相关动态库信息,需确认服务端动态库是否有缺失,并通过ldd进行动态库相关排查。
2024-11-05 11:23:14.633 [WARNING] database P0000368487 T0000000000000368602 rraft_ send_thread,cmd:115,send message to BP15_B timeout, used 151(ms), send hb message used 151(ms)该信息表示网络出现延迟,若持续出现延迟现象则需排查延迟原因。
[WARNING] database P0000006257 mian thread Failure occurs in data_recv_inet_onec,code 10该信息表示网络通信告警。可以执行sp_set_para_value(1,'COMM_TRACE',0);关闭该项检查。
2024-10-09 10:04:00 [WARNING] database P0000003097 mian_thread comm_inet_msg_recv more msg too long to 1735290788该信息表示应用发到数据库服务器消息有问题。排查应用到数据库的网络及发送消息。
2024-10-09 10:04:00 [WARNING] database P0000003097 mian_thread License will expire on 2025-04-30该信息为表示key即将到期,需更换新的授权文件。
##数据库服务无法启动,执行服务启动命令后提示os_file_flush error ! handle:3,ret:-1,code:30 ,desc:Read-only file system数据库服务启动后在进行数据文件变更操作出现此问题。可以尝试重新挂载文件系统,然后重启数据库服务。
2024-10-21 12:11:23 [INFO] database P0000005642 main_thread SYSTEM IS READY.2024-10-21 12:11:37 [FATAL] database P0000005642 main_thread Fatal error: desc is full while try alloc new page2024-10-21 12:11:37 [FATAL] database P0000005642 main_thread dm_sys_halt now!!!2024-10-21 12:11:37 [INFO] database P0000005642 main_thread total 2 rfil opened!根据报错信息可以看出是xx空间满了之类的问题,也有可能是数据文件损坏。可通过排查以下内容:排查一:检查表空间和操作系统磁盘空间;排查二:重启后,利用dbcheck检查是否有数据文件损坏。
[buf4_fast_pool_init] malloc global_buf4_pool ctls failure数据库实例在启动时,无法申请到足够多的内存资源。查看数据库实例所在服务器,根据实际可用内存,调整达梦数据库实例配置文件dm.ini中的buffer参数,使buffer所设数值小于实际可用内存。
[ERROR] database P0000002814 T0000000000000002814arch file(/dm8/data/DAMENG/DAMENG01.log) len check fail(file:/home/test/yx/trunk8_rel_ 2010/log/rfil.c,line:1219)[ERROR] database P0000002814 T0000000000000002814 rfil grp init log file dm8/data/DAMENG/DAMENG01.log error,code=-717[ERROR] database P0000002814 T0000000000000002814 rlog4_init_low->rfil_grp_alloc failed,alloc_only=0!需替换REDO日志文件并启动数据库。
2024-08-06 15:57:44 [ERROR] DB check P0000003180 T0000140208147420960 nbtr_check_page error:page(5,0,152572) rec of slotno 1 is min or max rec,file :/home/fuxin/trunc/dta/nbtr5.c,line :1636重启尝试恢复,如果数据文件有损坏,尝试检查数据文件损坏情况,进行恢复,或使用备份文件还原数据库。
(6)接口错误(温馨提示:如正式系统存在如下报错,请及时联系达梦技术服务团队或者拨打服务热线 400-991-6599 获取支持。)
[error]: database P0000002968 main_thread cmd 5 validate error!该错误表示使用了错误的接口,消息非法,比如使用不兼容的DPI或是JDBC来连接数据库,导致服务器认为客户端发过来的prepare消息数据不对,无法通过格式校验。
(7)连接数超出限定值错误(温馨提示:如正式系统存在如下报错,请及时联系达梦技术服务团队或者拨打服务热线 400-991-6599 获取支持。)
[ERROR] database P0000006257 mian_thread Reached the max session limit.该错误表示连接数超出限定值错误。dm.key和max_session均存在最大连接数限制,且key的并发数和max_session中的最大连接数取最小值,若实际连接数超过限定值,则会出现此报错。
3. FATAL 信息。通常该信息为“致命错误”,会导致数据库宕机,服务停止。
(1)FATAL:磁盘故障(温馨提示:如正式系统存在如下报错,请及时联系达梦技术服务团队或者拨打服务热线 400-991-6599 获取支持。)
2024-04-11 23:37:19:475 [FATAL] database P0000023070 T0000000000000023104 check page io timeout overtime 3 times of io TIMEOUT.please check the disk2024-04-11 23:37:19.475 [FATAL] database P0000023070 T0000000000000023104 code=-1.dm_sys halt now!!该信息表示磁盘故障,导致写redo一直写不进去,等待了IO_TIMEOUT*3次以后还是失败,直接halt。可考虑调整dm.ini中IO_TIMEOUT参数值(动态参数),并检查磁盘的故障问题。
(2)FATAL:数据文件损坏(温馨提示:如正式系统存在如下报错,请及时联系达梦技术服务团队或者拨打服务热线 400-991-6599 获取支持。)
2024-01-07 11:19:23 [INFO] database P0000003788 main_thread SYSTEM IS READY.2024-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd Invalid xdec_length:02024-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd Invalid xdec_length2024-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd dm_sys_halt now!!2024-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd total 2 rfil opened!该信息表示数据文件出现损坏,应及时检查数据文件损坏情况,进行恢复,或使用备份文件还原数据库。
(3)FATAL:索引损坏(温馨提示:如正式系统存在如下报错,请及时联系达梦技术服务团队或者拨打服务热线 400-991-6599 获取支持。)
[ERROR]: database P0000043976 main_thread INDEX [MES_WIP_COMP_PK1] ID33698687 is corrupt! line 4809 in file: data/jq/trunk7_ent/op/nupd2.c数据库中索引损坏,导致数据库宕机,需对该表进行重建。
(4)FATAL:dm_sys_halt(温馨提示:如正式系统存在如下报错,请及时联系达梦技术服务团队或者拨打服务热线 400-991-6599 获取支持。)
2025-01-07 11:22:32 [FATAL] database P000003788 dm_sql_thd dm_sys_halt now!!!该信息表示达梦数据库halt,应排查数据库日志或系统日志中导致数据库halt原因。
可以通过 grep 筛选检查具有 ERROR 或者 FATAL 关键字的日志,并将结果输出至文件中:
##查看错误日志定位相关数据库报错cat dm_DMSERVER_202203.log | grep "ERROR" >1.log
本期的日志监控和分析就到这里,下期会来介绍SQL日志分析、dmap 辅助进程日志、备份日志、接口日志的监控和分析。
以上为本期分享,希望能带给大家帮助。想要了解更多往期干货,可访问页面最下方#达梦技术干货攻略#合集或下方相关分享。在此邀请更多学员参与“达梦技术干货投稿活动”,稿件获选后将在达梦“干货分享”专栏进行发布,欢迎来稿!
【开班】达梦认证大师DCM课程招生中





