KingbaseES V8R6数据库运维案例之---kingbase.pid缺失无法关闭数据库服务
案例说明:
在执行sys_ctl正常关闭数据库服务时,提示缺失kingbase.pid文件,关闭数据库服务失败。
适用版本:
KingbaseES V8R3/R6
一、问题现象
如下图所示,在执行数据库服务的关闭时,提示‘kingbase.pid’文件缺失,无法正常关闭数据库(三种方式都不行):
二、问题分析
kingbase.pid文件类似一个进程锁,保证我们不会对同一个数据库集群"启动多次"。当数据库服务启动时创建,当数据库正常关闭时自动删除。
1、查看进程文件内容
[kingbase@node201 bin]$ cat ../data/kingbase.pid
3076
/home/kingbase/cluster/R6/R6HA/kingbase/data
1695021590
54321
/tmp
*
54321001 98305
ready
如下图所示,kingbase.pid文件内容:
2、pid文件对应内容解析
1)数据库进程id
[kingbase@node201 bin]$ ps -ef |grep kingbase
kingbase 3076 1 0 15:19 ? 00:00:02 /home/kingbase/cluster/R6/R6HA/kingbase/bin/kingbase -D /home/kingbase/cluster/R6/R6HA/kingbase/data
2)postmater文件创建时间
test=# select pg_postmaster_start_time();
pg_postmaster_start_time
-------------------------------
2023-09-18 15:19:51.075855+08
(1 row)
test=# select extract(epoch from '2023-09-18 15:19:51.075855+08'::timestamp);
date_part
-------------------
1695050391.075855
(1 row)
3)数据库服务网络通讯配置
test=# show port;
port
-------
54321
(1 row)
test=# show unix_socket_directories ;
unix_socket_directories
-------------------------
/tmp
(1 row)
test=# show listen_addresses ;
listen_addresses
------------------
*
(1 row)
4)共享内存地址key
[root@node201 ~]# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000072 0 root 444 1 14
0x033ce351 98305 kingbase 600 56 10
三、问题解决
编辑一个pid文件,将kingbase的主进程的pid写入后,数据库服务被自动关闭。
[kingbase@node201 data]$ cat kingbase.pid
3076
四、问题总结
kingbase.pid文件是数据库服务主进程(postmaster)启动时,创建的进程锁文件,在数据库关闭时,也需要读取,要保证pid文件的安全,在生产环境中不要误删除。
分类:
KingbaseES
标签:
kingbaseES
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」