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

openGauss每日一练第1天 | 数据库状态查看

原创 晨辉 2022-11-26
505

一.数据库状态相关信息查看

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参数值获取。

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

评论

目录
  • 一.数据库状态相关信息查看
    • 1.通过进程和线程判断数据库是否启动
    • 2.使用gs_ctl工具查看数据库状态,判断数据库是否启动。
    • 3.使用gs_ctl 查看数据文件的目录
    • 4.从环境变量查看数据文件的目录
    • 5.在gsql中查看数据文件目录、数据库版本
  • 总结