【达梦数据库】实例日志常见异常信息

实例日志位于数据库安装路径 “…/log” 文件夹下,一般默认命名为 “dm_实例名称_月份.log”。实例日志主要记录数据库运行过程中的 INFO、WARNING、ERROR 和 FATAL 四类信息:

(1)INFO(正常):用于打印程序应该出现的正常状态信息, 便于追踪定位;

(2)WARNING(告警):表明系统出现轻微的不合理,一般不影响运行和使用;

(3)ERROR(错误):表明出现了系统错误和异常,无法正常完成目标操作;

(4)FATAL(致命):表明发生了严重的错误,会导致数据库宕机,服务停止。

一般在进行数据库日志监控时,主要关注以下内容:

(1)WARNING、ERROR 和 FATAL 类信息监控。

(2)INFO 类信息中涉及实例重启的信息。

以下列举达梦数据库实例日志中需要注意的日志信息。

1. WARNING 信息。通常该信息为警告信息,需引起注意,但不影响数据库服务运行。常见 WARNING 场景如下:

(1)库启动告警

##告警信息提示缺少部分动态库,不影响系统运行
[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
[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 进行动态库相关排查。

(2)网络延迟告警

[WARNING] database P0000368487 T0000000000000368602 rraft_ send_thread,cmd:115,send message to BP15_B timeout, used 151(ms), send hb message used 151(ms)

该信息表示网络出现延迟,若持续出现延迟现象则需排查延迟原因。

(3)网络通信告警

[WARNING] database P0000006257 mian thread Failure occurs in data_recv_inet_onec,code 10

该信息表示网络通信告警。可以执行 sp_set_para_value(1,'COMM_TRACE',0); 关闭该项检查。

(4)消息告警

[WARNING] database P0000003097 mian_thread comm_inet_msg_recv more msg too long to 1735290788

该信息表示应用发到数据库服务器消息有问题。排查应用到数据库的网络及发送消息。

(5)key 授权告警

[WARNING] database P0000003097 mian_thread License will expire on 2019-04-30

该信息为表示 key 即将到期,需更换新的授权文件。

2. ERROR 信息。通常该信息为错误信息,可能会导致数据库宕机,停止服务。常见 ERROR 场景如下:

(1)存储问题错误

##数据库服务无法启动,执行服务启动命令后提示
os_file_flush error ! handle:3,ret:-1,code:30 ,desc:Read-only file system

数据库服务启动后在进行数据文件变更操作出现此问题。可以尝试重新挂载文件系统,然后重启数据库服务。

(2)文件写入错误

[INFO] database P0000005642 main_thread SYSTEM IS READY.
[FATAL] database P0000005642 main_thread Fatal error: desc is full while try alloc new page 
[FATAL] database P0000005642 main_thread dm_sys_halt now!!!
[INFO] database P0000005642 main_thread total 2 rfil opened!

根据报错信息可以看出是 xx 空间满了之类的问题,也有可能是数据文件损坏。可通过排查以下内容:

排查一:检查表空间和操作系统磁盘空间;

排查二:重启后,利用 dbcheck 检查是否有数据文件损坏。

(3)实例启动错误

[buf4_fast_pool_init] malloc global_buf4_pool ctls failure

数据库实例在启动时,无法申请到足够多的内存资源。查看数据库实例所在服务器,根据实际可用内存,调整达梦数据库实例配置文件 dm.ini 中的 buffer 参数,使 buffer 所设数值小于实际可用内存。

(4)REDO 校验错误

[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 日志文件并启动数据库。

(5)数据文件损坏错误

[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)接口错误

[error]: database P0000002968 main_thread cmd 5 validate error!

该错误表示使用了错误的接口,消息非法,比如使用不兼容的 DPI 或是 JDBC 来连接数据库,导致服务器认为客户端发过来的 prepare 消息数据不对,无法通过格式校验。

(7)连接数超出限定值错误

[ERROR] database P0000006257 mian_thread Reached the max session limit.

该错误表示连接数超出限定值错误。dm.key 和 max_session 均存在最大连接数限制,且 key 的并发数和 max_session 中的最大连接数取最小值,若实际连接数超过限定值,则会出现此报错。

3. FATAL 信息。通常该信息为“致命错误”,会导致数据库宕机,服务停止。

(1)FATAL:磁盘故障

[FATAL] database P0000023070 T0000000000000023104 check page io timeout overtime 3 times of io TIMEOUT.please check the disk
[FATAL] database P0000023070 T0000000000000023104 code=-1.dm_sys halt now!!

该信息表示磁盘故障,导致写 redo 一直写不进去,等待了 IO_TIMEOUT*3 次以后还是失败,直接 halt。可考虑调整 dm.ini 中 IO_TIMEOUT 参数值(动态参数),并检查磁盘的故障问题。

(2)FATAL:数据文件损坏

[INFO] database P0000003788 main_thread SYSTEM IS READY.
[FATAL] database P0000003788 dm_sql_ thd Invalid xdec_length:0
[FATAL] database P0000003788 dm_sql_ thd Invalid xdec_length
[FATAL] database P0000003788 dm_sql_ thd dm_sys_halt now!!   
[FATAL] database P0000003788 dm_sql_ thd total 2 rfil opened!

该信息表示数据文件出现损坏,应及时检查数据文件损坏情况,进行恢复,或使用备份文件还原数据库。

(3)FATAL:索引损坏

[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

[FATAL] database P000003788 dm_sql_thd dm_sys_halt now!!!

该信息表示达梦数据库 halt,应排查数据库日志或系统日志中导致数据库 halt 原因。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台 (dameng.com)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值