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

openGauss每日一练第21天 | 数据库例行维护

原创 watson 2022-12-14
597

【学习目标】

集中学习下openGuass在日常工作中需要例行巡查以及维护相关的操作;
日常工作中,业务上线后都会经历相应的稳定期,但在此期间均会有例如数据库巡检,如运行状态、锁信息、表的日常维护等相关日常操作。

第一步:

检查数据库相关状态:
从操作系统层面检查数据库的进程状态:
image.png
使用数据库工具gs_ctl来检查数据库实例状态:
image.png

检查数据库参数配置情况:
image.png

第二步:

检查锁信息:
检查目前数据库中已存在有哪些事务锁:

SELECT * FROM pg_locks;

image.png
进一步查询锁等待的线程状态信息:

 SELECT * FROM pg_thread_wait_status WHERE wait_status = 'acquire lock';

image.png

第三步:

统计事件数据:
1、查看慢sql语句相关信息,如相关的线程启动时间、执行时长,以及当前事件的状态:
image.png

2、查看当前数据库的活动会话的总量:
image.png

3、查询所有会话占用内存的具体情况,找出占用内存较大的会话:
image.png

4、查询表的统计信息:
image.png

第四步:

查询数据库版本、日志信息:
1、查询数据库的版本信息:
image.png

2、查看数据库的关键日志信息:

cd /var/lib/opengauss/data/pg_log
ls /var/lib/opengauss/data/pg_log
image.png

第五步:

检查应用连接数和确认数据库参数中设置的最大连接数:

image.png

第六步:

例行维护表:
在数据库正常运维一段时间后,由于表中的数据经常的插入、删除等操作,会导致类似于oracle数据库的表水平位上升的现象存在,因此在openGauss中也会涉及到对此类问题进行表级的维护,在openGauss中需要使用VACUUM FULL和ANALYZE来对表进行操作,不过此类操作和oracle一样,需要在业务空闲时段进行:

VACUUM customer_t;
VACUUM FULL customer_t;

更新表的统计信息:

更新统计信息,并输出表的相关信息

ANALYZE VERBOSE customer_t;

同时执行VACUUM ANALYZE命令进行查询优化

VACUUM ANALYZE customer_t;
image.png

第七步:

重建索引:
同第六步一样,由于长时间的数据的新增和删除等操作,一些表的索引的基表数据会失真,因此需要对一些特殊的表的索引进行定期重建,具体重建过程中,建议临时增大maintenance_work_mem和psort_work_mem的取值来加快索引的重建,操作方法如下:
image.png

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

评论