1,簡介
DSC叢集滾動更新是指在在不中斷資料庫服務的情況下,更新資料庫。
2,版本說明
2.1 不支援滾動更新的版本
版本号 | 原因 |
---|---|
V8.1.2.70 | MAL鍊路握手機制調整,解決TCP協定MSL機制導緻的垃圾消息問題 |
2.2 檢視版本是否支援滾動更新
2021年9月月度版及以後版本新增函數用于擷取DSC/資料守護滾動更新版本号,隻有版本号一緻的兩個版本支援滾動更新。版本号不一緻的資料庫版本更新需要先測試環境測試。
- 方法一(聯機):
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1QGN0Q2NwQTOkVzN3gjY5UjZxQDOlFWY5gjN4MTO1EzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
- 方法二(脫機):
./disql -ru_id
版本說明:
dsc[1]:DSC滾動更新版本号為1
dw1[1]:資料守護滾動更新版本号為1
2.3 查詢資料庫版本
方法一(聯機):
方法二(脫機):
./disql -id
3,更新準備工作
3.1 準備新版本的資料庫
- 建立執行個體簡單測試新版本資料庫是否可用:
./dminit path=/home/dmdba/dmdbms_10/data/
3.2 進行資料庫全備
- 登入disql進行備份,也可以使用其它方式進行備份。
./disql SYSDBA/[email protected].168.14.141:5236
- 使用dmrman校驗備份。
4,更新具體步驟
4.1 退出節點1的 DSC0 服務
- 登入disql
./disql SYSDBA/[email protected].168.14.141:5236
- 停止節點1的 DSC0 服務。此處可能耗時較久。
- 檢視dmcssm:看到下圖示注資訊表示成功。
4.2 退出節點1的dmasmsvr服務
- 查詢節點節點1的dmasmsvr的端口号。
ps -ef|grep dmasmsvr
- 停止dmasmsvr 服務。注意:直接kill pid,不要用kill -9。
kill 4628
- 再次查詢确認已關閉
4.3 退出節點1的dmcss
- 查詢節點節點1的dmcss的端口号。
ps -ef|grep dmcss
- 停止dmcss 服務。注意:直接kill pid,不要用kill -9。
kill 3605
- 再次查詢确認已關閉
4.4 停止dsc叢集dmap服務
./DmAPService stop
4.5 更新節點1的資料庫版本
将新版本執行程式以及動态庫替換掉老版本的執行程式以及動态庫(先 mv 移走8月月度版的所有執行碼,在将新版本的執行碼放到之前老版本的目錄。若正常更新成功之後,沒有問題,則可以将老版本執行碼删除)。
- 備份舊版本的所有執行碼。
mv -f dmdbms/ dmdbms_old_8
- 替換新版本的執行碼。
4.6 重新啟動節點1的所有服務
- 啟動dmap服務。
- 依次啟動 dmcss,dmasmsvr,dmserver【也可以用服務名的方式啟動】
./dmcss DCR_INI=/home/dmdba/dsc_config/dmdcr.ini
./dmasmsvr DCR_INI=/home/dmdba/dsc_config/dmdcr.ini
# 待ASM 服務正常加入成功之後,再啟動DSC服務
./dmserver /home/dmdba/dsc_cfg/dm.ini dcr_ini=/home/dmdba/dsc_config/dmdcr.ini
- 檢視dmcssm控制台:節點正常加入。檢視相關狀态是否無異常。
4.7 檢視節點1資料庫版本是否更新成功
- 登入disql檢視id_code是否和新版本一緻。
./disql SYSDBA/[email protected].168.14.141:5236
4.8 更新其它節點
1,重複操作節點1更新步驟更新其它節點
2,使用4.7節的方法,檢查所有節點資料庫版本是否一緻