
常用日志的信息说明
达梦数据库日志主要有 INFO、WARNING、ERROR 和 FATAL 四类信息。
cd $DM_HOME
cd log
ls -ltr *.log
##
检查日志中是否有错误信息
cat xxxx.log |grep
'\[ERROR '
##
检查日志中是否有警告信息
cat xxxx.log |grep
'\[WARNING'
##
检查数据库是否重启过
cat xxxx.log |grep
'SYSTEM READY'
复制
实例运行日志
##
告警信息提示缺少部分动态库,不影响系统运行
202
5
-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 directory
202
5
-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
进行动态库相关排查。
复制
202
4
-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);
关闭该项检查。
复制
20
24
-10-09 10:04:00 [WARNING] database P0000003097 mian_thread comm_inet_msg_recv more msg too long to 1735290788
该信息表示应用发到数据库服务器消息有问题。排查应用到数据库的网络及发送消息。
复制
20
24
-10-09 10:04:00 [WARNING] database P0000003097 mian_thread License will expire on 20
25
-04-30
该信息为表示
key
即将到期,需更换新的授权文件。
复制
##
数据库服务无法启动,执行服务启动命令后提示
os_file_flush error ! handle:3,ret:-1,code:30 ,desc:Read-only file system
数据库服务启动后在进行数据文件变更操作出现此问题。可以尝试重新挂载文件系统,然后重启数据库服务。
复制
20
24
-10-21 12:11:23 [INFO] database P0000005642 main_thread SYSTEM IS READY.
20
24
-10-21 12:11:37 [FATAL] database P0000005642 main_thread Fatal error: desc is full while try alloc new page
20
24
-10-21 12:11:37 [FATAL] database P0000005642 main_thread dm_sys_halt now!!!
20
24
-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
日志文件并启动数据库。
复制
20
24
-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 获取支持。)
20
24
-04-11 23:37:19:475 [FATAL] database P0000023070 T0000000000000023104 check page io timeout overtime 3 times of io TIMEOUT.please check the disk
20
24
-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 获取支持。)
20
24
-01-07 11:19:23 [INFO] database P0000003788 main_thread SYSTEM IS READY.
20
24
-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd Invalid xdec_length:0
20
24
-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd Invalid xdec_length
20
24
-01-07 11:22:32 [FATAL] database P0000003788 dm_sql_ thd dm_sys_halt now!!
20
24
-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 获取支持。)
202
5
-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课程招生中
