暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB 100 数据库故障定位手段

原创 小小亮 2020-07-28
1361

数据库故障定位手段

数据库发生故障时,需要及时收集日志、视图、错误码和黑匣子(或core文件)的信息来分析问题产生的原因。

查看错误码信息

GaussDB 100提供了丰富的错误码显示机制。并期望通过不断丰富每条错误码的可能原因和处理办法,协助用户在遇到问题时可以快速和顺利地定位和解决问题。

错误码详细信息请参见《GaussDB 100 V300R001C00 错误码参考》。

通过日志定位故障

GaussDB 100在运行过程中,会产生大量用于数据库日常维护的运行、审计、DEBUG、告警等日志。在数据库发生故障时,可以使用这些日志进行问题定位和数据库恢复的操作。

具体日志记录内容,请参见《GaussDB 100 V300R001C00 用户指南(单机)》中“数据库系统管理 > > 管理日志 > 查看日志”章节。

  • 运行日志

打印GaussDB 100数据库运行信息,如果数据库运行故障,请查看zengine.rlog。

日志目录:默认为“$GSDB_DATA/log/run/zengine.rlog”。

  • DEBUG日志

打印GaussDB 100数据库运行DEBUG级别信息,如果数据运行故障,且开启DEBUG级别日志,请查看zengine.dlog。

日志目录:默认为“$GSDB_DATA/log/debug/zengine.dlog”。

  • 告警日志

打印GaussDB 100数据库运行告警信息。如需了解告警信息,请查看zenith_alarm.log。

日志目录:“$GSDB_DATA/log/zenith_alarm.log”。

  • zctl日志

打印使用zctl.py运维操作数据库的信息,zctl是日志为zctl-yyyy-mm-dd_xxx.log。如需获取GaussDB 100完整的运维信息,请查看zctl-yyyy-mm-dd_xxx.log和数据库启动输出信息zenithstatus.log。

日志目录:“$GSDB_DATA/log/zctl-yyyy-mm-dd_xxx.log”。

  • 启动日志

记录数据库启动输出信息zenithstatus.log。如需获取GaussDB 100完整的运维信息,请查看zctl-yyyy-mm-dd_xxx.log和数据库启动输出信息zenithstatus.log。

日志目录:“$GSDB_DATA/log/zenithstatus.log”。

  • TRACE日志

记录数据库会话死锁的信息。如需查看会话死锁信息,请查看zengine_00003_xxxxxx.trc。

日志目录:“$GSDB_DATA/trc/zengine_00003_xxxxxx.trc”。

通过视图查看信息

GaussDB 100提供了丰富的视图,在定位故障时,可以根据实际情况查看相关视图。如,SQL长时间无响应时,可以查看视图DV_LOCKED_OBJECTS。

通过Core文件定位故障

GaussDB 100的相关进程在运行过程中可能会因为各种意外情况导致数据库崩溃(Coredump),而崩溃时产生的core文件对于迅速定位程序崩溃的原因及位置非常重要。如果进程运行时出现Coredump现象,建议立即开启core文件便于分析、定位故障。

操作系统自带Core dump机制。开启后,系统中所有出现Core dump问题时都会生成core文件,对操作系统带来性能和磁盘占用的影响。为了定位GaussDB 100 Coredump问题时不影响操作系统中其他程序,GaussDB 100支持操作系统不配置core机制时仍可产生core文件。

查看core文件位置命令如下所示:

cat /proc/sys/kernel/core_pattern

文章来源:https://bbs.huaweicloud.com/forum/thread-28109-1-1.html

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论