適用版本
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進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




