一.数据库状态相关信息查看
1.通过进程和线程判断数据库是否启动
查看是否有带gauss名的进程,如有则查该进程所有的线程(因为openGauss数据库为单进程多线程数据库)
ps -ef|grep -v grep|grep gauss
查看gauss的所有线程(假设进程号为1)
ps -Tp 1
如下示例gauss进程号为1,1的线程有gassdb、syslogger、jemalloc_bg_thd等线程,说明数据库已启动。
omm@modb:~$ ps -ef|grep -v grep|grep gauss
omm 1 0 0 20:25 ? 00:00:08 gaussdb
omm@modb:~$ ps -Tp 1
PID SPID TTY TIME CMD
1 1 ? 00:00:00 gaussdb
1 293 ? 00:00:00 jemalloc_bg_thd
1 300 ? 00:00:00 syslogger
1 299 ? 00:00:00 gaussdb
1 301 ? 00:00:00 jemalloc_bg_thd
1 302 ? 00:00:00 alarm
1 303 ? 00:00:00 reaper
1 304 ? 00:00:00 jemalloc_bg_thd
1 305 ? 00:00:00 jemalloc_bg_thd
1 349 ? 00:00:00 checkpointer
1 350 ? 00:00:00 Spbgwriter
1 351 ? 00:00:01 pagewriter
1 352 ? 00:00:00 pagewriter
1 353 ? 00:00:00 pagewriter
1 354 ? 00:00:00 pagewriter
1 355 ? 00:00:00 pagewriter
1 356 ? 00:00:00 WALwriter
1 357 ? 00:00:00 WALwriteraux
1 358 ? 00:00:00 AVClauncher
1 359 ? 00:00:00 Jobscheduler
1 360 ? 00:00:00 asyncundolaunch
1 361 ? 00:00:00 globalstats
1 362 ? 00:00:00 applylauncher
1 364 ? 00:00:00 percentworker
1 365 ? 00:00:03 ashworker
1 363 ? 00:00:00 statscollector
1 366 ? 00:00:00 TrackStmtWorker
1 367 ? 00:00:00 auditor
1 368 ? 00:00:00 2pccleaner
1 369 ? 00:00:00 faultmonitor
1 370 ? 00:00:00 WLMworker
1 371 ? 00:00:00 WLMmonitor
1 372 ? 00:00:00 WLMarbiter
1 373 ? 00:00:00 undorecycler
2.使用gs_ctl工具查看数据库状态,判断数据库是否启动。
执行gs_ctl status检查数据库状态,如下显示server is running (PID: 1)表示服务正常启动,进程为1.
omm@modb:~$ gs_ctl status
[2022-11-25 21:09:04.156][572][][gs_ctl]: gs_ctl status,datadir is /var/lib/opengauss/data
gs_ctl: server is running (PID: 1)
/usr/local/opengauss/bin/gaussdb
3.使用gs_ctl 查看数据文件的目录
执行gs_ctl notify 查看数据文件目录,如下显示datadir is /var/lib/opengauss/data ,表示数据目录为/var/lib/opengauss/data
omm@modb:~$ gs_ctl notify
[2022-11-26 14:21:34.503][379][][gs_ctl]: gs_ctl notify ,datadir is /var/lib/opengauss/data
[2022-11-26 14:21:34.503][379][][gs_ctl]: the parameter of notify must be specified
4.从环境变量查看数据文件的目录
查看omm用户环境变量 ,可以直接cat ~/.bashrc文件,也可以使用grep 提取PGDATA相关行信息(grep -i PGDATA ~/.bashrc) 可以看到 PGDATA=/var/lib/opengauss/data 说明数据文件目录为/var/lib/opengauss/data
su - omm
cat ~/.bashrc
export GAUSSHOME=/usr/local/opengauss
export PATH=$GAUSSHOME/bin:$PATH
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH
export PGDATA=/var/lib/opengauss/data
omm@modb:~$ grep -i PGDATA ~/.bashrc
export PGDATA=/var/lib/opengauss/data
5.在gsql中查看数据文件目录、数据库版本
登录数据库,查看data_directory参数,查看版本信息
su - omm
gsql
show data_directory;
select version();
omm=# show data_directory;
data_directory
-------------------------
/var/lib/opengauss/data
(1 row)
omm=# select version();
-----------------------------------------
(openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:00 commit 0 last mr on aarch64-unknown-linux-
gnu, compiled by g++ (GCC) 7.3.0, 64-bit
(1 row)
总结
1) 查看数据库是否启动
openGauss为单进程多线程数据库,可以在操作系统层面通过查看进程和线程的方式来判断数据库是否启动,也可以通过openGauss提供的命令行工具gs_ctl来检查数据库的运行状态。
2)查看数据目录
首先可以通过环境变量信息去检查数据目录,也可以通过openGauss提供的命令行工具gsctl查看,但最可靠的方式还是登录数据库通过show data_directory命令查看data_directory参数值获取。