适用版本
MogDB 2.0.1
MogDB 2.1及以后的版本不存在这个问题。
补丁版本
MogDB 2.0.3(联系云和恩墨获取补丁包)
修复内容
MogDB 主备架构,当备库启动归档(archive_mode = on)后,walsender线程需要发送archive lsn消息。此逻辑执行时,用于获取备库列表的链表数据结构用完后没有被释放,因此产生了内存泄漏,这导致walsender产生了缓慢的内存占用增长的现象。
适用数据库安装方式
前提条件
1、数据库稳定运行,各功能及状态正常
2、允许数据库暂停对外提供服务
升级步骤
两种升级方式:
1、数据库可以停止连续对外服务,主库关闭后,替换数据库安装包后再启动
2、数据库不能停止连续对外服务,可以先升级备库,然后通过switchover切换主备角色,将备库提升为主库继续对外提供服务,切换过程中会短暂停止对外提供服务
解压安装包
--将MogDB2.0.3安装包解压到/opt/mogdb203(目录可自定义)
mkdir -p /opt/mogdb203
--解压安装包
tar -xvf MogDB-2.0.3-CentOS-x86_64.tar.gz -C /opt/mogdb203/
cd /opt/mogdb203
--再次解压并修改属组
tar -xvf MogDB-2.0.3-CentOS-64bit.tar.bz2
chown -R omm: /opt/mogdb203
--查看bin和lib目录
ls -l |egrep -i 'bin|lib'
drwxr-xr-x 3 omm dbgrp 4096 Jun 17 00:25 bin
drwxr-xr-x 5 omm dbgrp 4096 Jun 17 00:25 lib
关闭MogHA
如果主备节点部署了高可用工具MogHA,在操作之前需要先收工停止,否则MogHA会自动拉起关闭的数据库节点。
sudo systemctl stop mogha
systemctl status mogha
关闭数据库
--单节点
gs_ctl -D $PGDATA stop
--所有节点
gs_om -t stop
替换安装包
仅需要替换bin目录和lib目录即可
--进入MogDB的安装目录 或 app目录
mv bin bin_201 && cp -r /opt/mogdb203/bin .
mv lib lib_201 && cp -r /opt/mogdb203/lib .
--om安装的数据库还需要copy一下文件
cp bin_201/cluster_static_config bin/
cp bin_201/upgrade_version bin/
备库执行switchover(可选)
gs_ctl switchover -D $PGDATA
--刷新配置文件,每次切换必做步骤
gs_om -t refreshconf
启动数据库
--手工启动主库
gs_ctl -D $PGDATA start -M primary
--手工启动备库
gs_ctl -D $PGDATA start -M standby
--gsom启动,任何节点都可以
gs_om -t start
启动MogHA
sudo systemctl start mogha
systemctl status mogha
验证
数据库状态
gs_ctl query -D $PGADATA
或
gs_om -t status --detail
walsender占用内存情况
定期执行观察
select contextname,pg_size_pretty(sum(totalsize)),pg_size_pretty(sum(freesize))
from gs_session_memory_detail
where contextname ='Wal Sender'
group by contextname;
最后修改时间:2022-08-04 08:33:27
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。