openGauss学习笔记-188 openGauss 数据库运维-常见故障定位案例-core问题定位

188.1 磁盘满故障引起的core问题

188.1.1 问题现象

TPCC运行时,注入磁盘满故障,数据库进程gaussdb core掉,如下图所示。

img

188.1.2 原因分析

数据库本身机制,在磁盘满时,Xlog日志无法进行写入,通过panic日志退出程序。

188.1.3 处理办法

外部监控磁盘使用状况,定时进行清理磁盘。

188.2 GUC参数log_directory设置不正确引起的core问题

188.2.1 问题现象

数据库进程拉起后出现coredump,日志无内容。

188.2.2 原因分析

GUC参数log_directory设置的路径不可读取或无访问权限,数据库在启动过程中进行校验失败,通过panic日志退出程序。

188.2.3 处理办法

GUC参数log_directory设置为合法路径,具体请参考log_directory

188.3 开启RemoveIPC引起的core问题

188.3.1 问题现象

操作系统配置中RemoveIPC参数设置为yes,数据库运行过程中出现宕机,并显示如下日志消息。

FATAL: semctl(1463124609, 3, SETVAL, 0) failed: Invalid argument

188.3.2 原因分析

当RemoveIPC参数设置为yes时,操作系统会在对应用户退出时删除IPC资源(共享内存和信号量),从而使得openGauss服务器使用的IPC资源被清理,引发数据库宕机。

188.3.3 处理分析

设置RemoveIPC参数为no。设置方法请参考《安装指南》中“安装准备>准备软硬件安装环境>修改操作系统配置”章节。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片