夢數(shù)據(jù)庫-學(xué)習(xí)-51-主備集群升級)
目錄一、環(huán)境信息二、說點什么三、升級步驟0、記錄無效對象1、全庫備份1鏈接2示例2、刷檢查點3、關(guān)閉集群1備機2主機3查看服務(wù)4、安裝目錄改名5、升級1鏡像掛載2軟件安裝3鏡像卸載6、拷貝文件1主機2備機7、啟動集群1主機2備機3查看服務(wù)8、重建系統(tǒng)包1切換目錄2登錄數(shù)據(jù)庫3執(zhí)行SQL9、版本回退1方法一2方法二一、環(huán)境信息名稱值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系統(tǒng)CentOS Linux release 7.9.2009 (Core)內(nèi)存7G邏輯核數(shù)8DM版本DM Database Server 64 V8DB Version: 0x7000d03134284368-20250917-293539-20149Msg Version: 44Gsu level(5) cnt: 0二、說點什么在工作中經(jīng)常會遇到數(shù)據(jù)庫需求或BUG一般都需要升級版本來解決問題今天來寫一篇博客來記錄一下升級步驟方便我們后續(xù)的查閱。三、升級步驟0、記錄無效對象為了和升級后作對比新出現(xiàn)的無效對象建議處理。-- 1.查詢無效對象 select * from all_objects b where b.status not in (VALID, N/A) -- 2.查詢/修復(fù)無效索引(包括函數(shù)索引) select SP_REBUILD_INDEX(||a.owner||,||b.OBJECT_ID||);, b.OBJECT_ID,a.table_owner||.||a.table_name table_name, a.owner||.||a.index_name index_name, a.status, b.last_ddl_time last_ddl_time from all_indexes a, all_objects b where b.status not in (VALID, N/A) and b.object_namea.index_name and b.ownera.owner;1、全庫備份建議升級前一定要做備份雖然升級出現(xiàn)問題的可能性不大但生產(chǎn)環(huán)境保持謹(jǐn)慎保證數(shù)據(jù)安全的最后一道防線。1鏈接大家可以參考一下之前的博客。序號鏈接1《達(dá)夢數(shù)據(jù)庫-學(xué)習(xí)-22-庫級物理備份恢復(fù)超詳細(xì)版》2示例BACKUP DATABASE FULL BACKUPSET FULL_BAK_20250418 MAXPIECESIZE 2048 COMPRESSED LEVEL 5 PARALLEL 8;2、刷檢查點主備機建議全部執(zhí)行。有的服務(wù)器性能比較強勁且跑了大量增刪改業(yè)務(wù)會有較多臟頁沒有刷盤如果執(zhí)行了關(guān)庫雖然也會100%刷檢查點但我們選擇的路線就少了刷盤時間太長超過停機的空窗期我們還需和業(yè)務(wù)進(jìn)行解釋溝通成本提高也有可能后續(xù)的業(yè)務(wù)。SQL SELECT * FROM V$INSTANCE_RECOVERY; 行號 RECOVERY_ESTIMATED_IOS ACTUAL_REDO_BLKS TARGET_REDO_BLKS LOG_FILE_SIZE_REDO_BLKS LOG_CHKPT_TIMEOUT_REDO_BLKS LOG_CHKPT_INTERVAL_REDO_BLKS ---------- ---------------------- -------------------- ---------------- ----------------------- --------------------------- ---------------------------- FAST_START_IO_TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR CKPT_BLOCK_WRITES OPTIMAL_LOGFILE_SIZE ESTD_CLUSTER_AVAILABLE_TIME WRITES_MTTR WRITES_LOGFILE_SIZE ------------------------------ ----------- -------------- -------------------- -------------------- --------------------------- ----------- ------------------- WRITES_LOG_CHECKPOINT_SETTINGS WRITES_OTHER_SETTINGS WRITES_AUTOTUNE WRITES_FULL_THREAD_CKPT ------------------------------ --------------------- --------------- ----------------------- 1 34 184 2097152 2097152 NULL 180 NULL 1 1 431 512 NULL 0 0 449 1 0 0 已用時間: 20.118(毫秒). 執(zhí)行號:210903. SQL checkpoint(100); DMSQL 過程已成功完成 已用時間: 64.076(毫秒). 執(zhí)行號:210904. SQL SELECT * FROM V$INSTANCE_RECOVERY; 行號 RECOVERY_ESTIMATED_IOS ACTUAL_REDO_BLKS TARGET_REDO_BLKS LOG_FILE_SIZE_REDO_BLKS LOG_CHKPT_TIMEOUT_REDO_BLKS LOG_CHKPT_INTERVAL_REDO_BLKS ---------- ---------------------- -------------------- ---------------- ----------------------- --------------------------- ---------------------------- FAST_START_IO_TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR CKPT_BLOCK_WRITES OPTIMAL_LOGFILE_SIZE ESTD_CLUSTER_AVAILABLE_TIME WRITES_MTTR WRITES_LOGFILE_SIZE ------------------------------ ----------- -------------- -------------------- -------------------- --------------------------- ----------- ------------------- WRITES_LOG_CHECKPOINT_SETTINGS WRITES_OTHER_SETTINGS WRITES_AUTOTUNE WRITES_FULL_THREAD_CKPT ------------------------------ --------------------- --------------- ----------------------- 1 0 72 2097152 2097152 NULL 180 NULL 1 1 431 512 NULL 0 0 449 2 0 0 已用時間: 0.547(毫秒). 執(zhí)行號:210905.RECOVERY_ESTIMATED_IOS緩存中的臟頁數(shù)量。3、關(guān)閉集群均切換到達(dá)夢安裝目錄的bin目錄例如cd /dm/dmdbms/bin1備機./DmM Tab鍵 stop ./DmW Tab鍵 stop ./DmS Tab鍵 stop ./DmAP Tab鍵 stop2主機./DmW Tab鍵 stop ./DmS Tab鍵 stop ./DmAP Tab鍵 stop3查看服務(wù)所有節(jié)點執(zhí)行ps -ef|grep dmdba無服務(wù)為正常。4、安裝目錄改名所有節(jié)點執(zhí)行mv /dm/dmdbms /dm/dmdbms_202512055、升級所有節(jié)點執(zhí)行1鏡像掛載mount -o loop dm8_20250923_x86_centos7_64.iso /mnt/2軟件安裝[rootrhel709:/opt/Pkg/8.1.4.80.pack34]# /mnt/DMInstall.bin -i 安裝語言: [1]: 簡體中文 [2]: English 請選擇安裝語言 [1]: 解壓安裝程序.......... 硬件架構(gòu)校驗通過 歡迎使用達(dá)夢數(shù)據(jù)庫安裝程序 是否輸入Key文件路徑? (Y/y:是 N/n:否) [Y/y]:n 是否設(shè)置時區(qū)? (Y/y:是 N/n:否) [Y/y]: 設(shè)置時區(qū): [ 1]: (GTM-12:00) 日界線西 [ 2]: (GTM-11:00) 薩摩亞群島 [ 3]: (GTM-10:00) 夏威夷 [ 4]: (GTM-09:00) 阿拉斯加 [ 5]: (GTM-08:00) 太平洋時間美國和加拿大 [ 6]: (GTM-07:00) 亞利桑那 [ 7]: (GTM-06:00) 中部時間美國和加拿大 [ 8]: (GTM-05:00) 東部部時間美國和加拿大 [ 9]: (GTM-04:00) 大西洋時間美國和加拿大 [10]: (GTM-03:00) 巴西利亞 [11]: (GTM-02:00) 中大西洋 [12]: (GTM-01:00) 亞速爾群島 [13]: (GTM) 格林威治標(biāo)準(zhǔn)時間 [14]: (GTM01:00) 薩拉熱窩 [15]: (GTM02:00) 開羅 [16]: (GTM03:00) 莫斯科 [17]: (GTM04:00) 阿布扎比 [18]: (GTM05:00) 伊斯蘭堡 [19]: (GTM06:00) 達(dá)卡 [20]: (GTM07:00) 曼谷河內(nèi) [21]: (GTM08:00) 中國標(biāo)準(zhǔn)時間 [22]: (GTM09:00) 首爾 [23]: (GTM10:00) 關(guān)島 [24]: (GTM11:00) 所羅門群島 [25]: (GTM12:00) 斐濟(jì) [26]: (GTM13:00) 努庫阿勒法 [27]: (GTM14:00) 基里巴斯 請選擇時區(qū) [21]: 安裝類型: 1 典型安裝 2 服務(wù)器 3 客戶端 4 自定義 請選擇安裝類型的數(shù)字序號 [1 典型安裝]: 所需空間: 1753M 請選擇安裝目錄 [/opt/dmdbms]:/dm/dmdbms 可用空間: 68G 是否確認(rèn)安裝路徑(/dm/dmdbms)? (Y/y:是 N/n:否) [Y/y]: 安裝前小結(jié) 安裝位置: /dm/dmdbms 所需空間: 1753M 可用空間: 68G 版本信息: 有效日期: 安裝類型: 典型安裝 是否確認(rèn)安裝? (Y/y:是 N/n:否):y 配置文件/etc/dm_svc.conf已存在,是否進(jìn)行替換? (Y/y,N/n) [Y/y]:n 2025-12-03 10:32:52 [INFO] 安裝達(dá)夢數(shù)據(jù)庫... 2025-12-03 10:32:52 [INFO] 安裝 基礎(chǔ) 模塊... 2025-12-03 10:32:54 [INFO] 安裝 服務(wù)器 模塊... 2025-12-03 10:32:55 [INFO] 安裝 客戶端 模塊... 2025-12-03 10:32:56 [INFO] 安裝 驅(qū)動 模塊... 2025-12-03 10:32:56 [INFO] 安裝 手冊 模塊... 2025-12-03 10:32:56 [INFO] 安裝 服務(wù) 模塊... 2025-12-03 10:32:57 [INFO] 移動日志文件。 2025-12-03 10:32:57 [INFO] 正在啟動DmAPService服務(wù)... 2025-12-03 10:32:58 [INFO] 啟動DmAPService服務(wù)成功。 2025-12-03 10:32:58 [INFO] 安裝達(dá)夢數(shù)據(jù)庫完成。 安裝結(jié)束3鏡像卸載umount /mnt6、拷貝文件有些C或JAVA外部函數(shù)記得拷貝拷貝時需用dmdba用戶執(zhí)行。1主機cp /dm/dmdbms_20251205/bin/dm.key /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/bin/DmS* /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/bin/DmW* /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/tool/dmagent/resources/ap/* /dm/dmdbms/tool/dmagent/resources/ap/2備機cp /dm/dmdbms_20251205/bin/dm.key /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/bin/DmS* /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/bin/DmW* /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/bin/DmM* /dm/dmdbms/bin/ cp /dm/dmdbms_20251205/tool/dmagent/resources/ap/* /dm/dmdbms/tool/dmagent/resources/ap/7、啟動集群均切換到達(dá)夢安裝目錄的bin目錄例如cd /dm/dmdbms/bin1主機./DmS Tab鍵 start ./DmW Tab鍵 start ./DmAP Tab鍵 start2備機./DmS Tab鍵 start ./DmW Tab鍵 start ./DmAP Tab鍵 start3查看服務(wù)所有節(jié)點執(zhí)行ps -ef|grep dmdba是否能查看到啟動的服務(wù)。8、重建系統(tǒng)包主庫執(zhí)行即可1切換目錄cd /dm/dmdbms/bin2登錄數(shù)據(jù)庫./disql SYSDBA/SYSDBA3執(zhí)行SQLSP_CREATE_SYSTEM_PACKAGES (0); SP_CREATE_SYSTEM_PACKAGES (1);--這一步第一次執(zhí)行可能提示編譯錯誤。 如重建系統(tǒng)包失敗執(zhí)行 --1.檢查COMPATIBLE_MODE如果結(jié)果COMPATIBLE_MODE2記錄ORA_DATE_FMT參數(shù)值并執(zhí)行第2步 select * from v$dm_ini where para_name in(COMPATIBLE_MODE,ORA_DATE_FMT); --2.修改參數(shù)值建議是每一臺服務(wù)器都執(zhí)行避免沒開參數(shù)同步。 sp_set_para_value(2,ORA_DATE_FMT,1); --3.重啟集群或單機 --4.重建系統(tǒng)包 SP_CREATE_SYSTEM_PACKAGES (0); SP_CREATE_SYSTEM_PACKAGES (1); --5.修改ORA_DATE_FMT項值修改回原來值建議是每一臺服務(wù)器都執(zhí)行避免沒開參數(shù)同步。 sp_set_para_value(2,ORA_DATE_FMT,0); --6.重啟集群這里就升級完畢。9、版本回退1方法一關(guān)閉服務(wù)將安裝目錄改名替換為原來的安裝目錄拷貝文件重啟服務(wù)即可。2方法二關(guān)閉服務(wù)將安裝目錄改名替換為原來的安裝目錄拷貝文件進(jìn)行備份恢復(fù)。