达梦数据库-学习-40-主备集群同步DSC集群

目录

一、环境信息

二、说点什么

三、前提

四、部署信息

1、DG主备集群

2、DSC共享存储集群

五、实验

1、全库备份(DG主节点)

2、刷归档(DG主节点)

3、拷贝备份(DG主节点)

4、拷贝归档(DG主节点)

5、关闭dmserver服务(DSC任意节点)

(1)登录dmcssm

(2)关闭DB服务

(3)确认dmserver服务

6、恢复数据(DSC任意节点)

(1)登录dmrman

(2)还原数据

(3)基于归档恢复数据

(4)更新魔数号

7、修改dmserver后台服务(DSC所有节点)

(1)主节点修改

(2)备节点修改

8、修改dm.ini后台服务(DSC所有节点)

(1)主节点修改

(2)备节点修改

9、修改dmmal.ini(所有节点)

(1)DG原始dmmal.ini

(2)DSC原始dmmal.ini

(3)DG备份dmmal.ini

(4)DSC备份dmmal.ini

(5)dmmal.ini统一配置

10、拷贝dmmal.ini(所有节点)

(1)DG节点拷贝

(2)DSC节点拷贝

11、修改dmarch.ini(所有节点)

(1)DG节点一原始dmarch.ini

(2)DG节点二原始dmarch.ini

(3)DSC节点一原始dmarch.ini

(4)DSC节点二原始dmarch.ini

(5)备份dmarch.ini(DG节点一)

(6)备份dmarch.ini(DG节点二)

(7)备份dmarch.ini(DSC节点一)

(8)备份dmarch.ini(DSC节点二)

(9)DG节点一最新dmarch.ini

(10)DG节点二最新dmarch.ini

(11)DSC节点一最新dmarch.ini

(12)DSC节点二最新dmarch.ini

12、修改dmwatcher.ini(DSC所有节点)

(1)节点一

(2)节点二

13、注册dmwatcher服务(DSC所有节点)

(1)节点一

(2)节点二

14、修改dmmonitor.ini(DG监视器节点)

(1)dmmonitor.ini原始配置

(2)dmmonitor.ini最新配置

15、配置 dmdcr.ini(DSC所有节点)

(1)节点一原始配置

(2)节点二原始配置

 (3)节点一最新配置

(4)节点二最新配置

16、关闭ASM服务(DSC任意节点)

(1)登录dmcssm

(2)关闭ASM服务

(3)确认ASM服务

17、重启CSS服务(DSC所有节点)

 (1)节点一

(2)节点二

18、设置OGUID和模式(DSC任意节点)

19、dmwatcher、dmserver服务重启(DG所有节点)

(1)节点一

(2)节点二

20、dmwatcher服务启动(DSC所有节点)

(1)节点一

(2)节点二

21、监视器查看(监视器节点)

22、集群切换(监视器节点)

23、dmmonitor监视器服务后台启动(监视器节点)

24、dmcssm监视器服务后台启动(监视器节点)

六、总结


一、环境信息

名称
CPU12th Gen Intel(R) Core(TM) i7-12700H
操作系统CentOS Linux release 7.9.2009 (Core)
内存7G
逻辑核数8
DM版本DM Database Server 64 V8
DB Version: 0x7000d
03134284368-20250917-293539-20149
Msg Version: 44
Gsu level(5) cnt: 0

二、说点什么

近期客户有需求:生产主备集群,同步到准生产DSC共享存储集群。这时我们能想到两个方案:

1、共享存储集群集群作为主备集群的新备机,加入到集群中。
2、通过达梦同步软件DRS进行单向同步。

这里写篇博客记录下我们方案一的模拟搭建情况。

三、前提

编号描述备注
1DG主备集群搭建完毕
2DSC共享存储集群搭建完毕《达梦数据库-学习-14-共享存储集群DMDSC部署》
3DSC共享存储集群归档开启《达梦数据库-学习-39-共享存储集群配置归档》

四、部署信息

1、DG主备集群

名称描述
主节点IP192.168.13.63
备节点IP192.168.13.64
软件安装位置/dm/dmdbms
数据存放位置/dm/dmdata

2、DSC共享存储集群

名称描述
主节点IP192.168.13.61
备节点IP192.168.13.62
软件安装位置/dm/dmdbms
数据存放位置共享存储

五、实验

1、全库备份(DG主节点)

13:43:01 SYSDBA@DAMENG:5236 SQL> BACKUP DATABASE FULL BACKUPSET 'FULL_BAK_20251117' MAXPIECESIZE 2048 COMPRESSED LEVEL 5 PARALLEL 8;
executed successfully
used time: 00:04:54.690. Execute id is 300107.

2、刷归档(DG主节点)

13:47:58 SYSDBA@DAMENG:5236 SQL> ALTER DATABASE ARCHIVELOG CURRENT;
executed successfully
used time: 6.222(ms). Execute id is 0.

把新生成的,还未归档的联机日志都进行归档。 

3、拷贝备份(DG主节点)

[dmdba@rhel709:/home/dmdba]$ cd /dm/dmdata/DAMENG/bak

[dmdba@rhel709:/dm/dmdata/DAMENG/bak]$ scp -r FULL_BAK_20251117 dmdba@192.168.13.61:/dm/dmbak

4、拷贝归档(DG主节点)

[dmdba@rhel709:/dm/dmarch/DAMENG]$ ll
总用量 2121072
-rw-r--r-- 1 dmdba dinstall   24494080 11月 17 13:50 ARCHIVE_LOCAL1_0x5C699460_EP0_2025-11-14_16-08-21.log
-rw-r--r-- 1 dmdba dinstall 2147483648 11月 17 14:03 ARCHIVE_LOCAL1_0x5C699460_EP0_2025-11-17_13-51-10.log

[dmdba@rhel709:/dm/dmarch/DAMENG]$ pwd
/dm/dmarch/DAMENG

[dmdba@rhel709:/dm/dmarch/DAMENG]$ scp -r * dmdba@192.168.13.61:/dm/dmbak/dmarch

5、关闭dmserver服务(DSC任意节点)

(1)登录dmcssm

[dmdba@rhel709:/dm/dmdbms/bin]$ /dm/dmdbms/bin/dmcssm ini_path=/dm/dsc/dmcssm.ini
[monitor]          [2025-11-17 14:12:45:001] CSS MONITOR V8
[monitor]          [2025-11-17 14:12:45:017] CSS MONITOR SYSTEM IS READY.

[monitor]          [2025-11-17 14:12:45:020] Wait CSS Control Node choosed...
[monitor]          [2025-11-17 14:12:46:121] Wait CSS Control Node choosed succeed.

show

monitor current time:2025-11-17 14:12:46, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 1] ========================================

DSC_MODE = FULL
[CSS0] auto check = TRUE, global info:
[ASM0] auto restart = TRUE
[DSC0] auto restart = TRUE
[CSS1] auto check = TRUE, global info:
[ASM1] auto restart = TRUE
[DSC1] auto restart = TRUE

ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-17 14:12:46    CSS0      0     5336   Normal Node  OPEN              WORKING      OK     TRUE   126473750     21100     127506635   
        2025-11-17 14:12:46    CSS1      1     5336   Control Node OPEN              WORKING      OK     TRUE   3149          1420      1309588     

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 1] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-17 14:12:46    ASM0      0     5436   Normal Node  OPEN              WORKING      OK     TRUE   126494677     21219     127527756   
        2025-11-17 14:12:46    ASM1      1     5436   Control Node OPEN              WORKING      OK     TRUE   11950         2045      1318474     

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 1] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-17 14:12:46    DSC0      0     5236   Normal Node  OPEN              WORKING      OK     TRUE   236775127     21404     237808167   
        2025-11-17 14:12:46    DSC1      1     5236   Control Node OPEN              WORKING      OK     TRUE   235285531     21772     236320368   

==================================================================================================================

(2)关闭DB服务

ep stop GRP_DSC
[monitor]          [2025-11-17 14:22:32:171] Notify CSS(seqno:0) set ep(DSC0)auto restart off
[monitor]          [2025-11-17 14:22:32:222] Notify CSS(seqno:0) set ep(DSC0)auto restart off success
[monitor]          [2025-11-17 14:22:32:223] Notify CSS(seqno:1) set ep(DSC1)auto restart off
[monitor]          [2025-11-17 14:22:32:273] Notify CSS(seqno:1) set ep(DSC1)auto restart off success
[monitor]          [2025-11-17 14:22:32:274] Set CSS auto restart off success
[monitor]          [2025-11-17 14:22:32:274] Notify CSS(seqno:1) execute EP STOP(GRP_DSC)
[monitor]          [2025-11-17 14:22:40:535] Notify current active CSS to do clear
[monitor]          [2025-11-17 14:22:41:338] Clean request of CSS(0) success
[monitor]          [2025-11-17 14:22:41:490] Clean request of CSS(1) success
[monitor]          [2025-11-17 14:22:41:490] Command EP STOP GRP_DSC execute success

(3)确认dmserver服务

DSC节点一

[root@rhel709:/dm/dmbak]# ps -ef|grep dmdba
dmdba     1411     1  0 11月02 ?      00:01:45 /dm/dmdbms/bin/dmap dmap_ini=/dm/dmdbms/bin/dmap.ini
dmdba    21100     1  0 11月05 ?      01:31:25 /dm/dmdbms/bin/dmcss dcr_ini=/dm/dsc/config/dmdcr.ini -noconsole
dmdba    21219     1  0 11月05 ?      00:28:12 /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dsc/config/dmdcr.ini
root     26480 27279  0 14:28 pts/0    00:00:00 grep --color=auto dmdba

DSC节点二

[root@rhel709:/root]# ps -ef|grep dmdba
root      1143 23831  0 10:55 pts/0    00:00:00 su - dmdba
dmdba     1144  1143  0 10:55 pts/0    00:00:00 -bash
dmdba     1420     1  0 11月02 ?      01:55:19 /dm/dmdbms/bin/dmcss dcr_ini=/dm/dsc/config/dmdcr.ini -noconsole
dmdba     1423     1  0 11月02 ?      00:01:41 /dm/dmdbms/bin/dmap dmap_ini=/dm/dmdbms/bin/dmap.ini
dmdba     2045     1  0 11月02 ?      00:27:17 /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dsc/config/dmdcr.ini -noconsole
dmdba    20806  1144  0 14:12 pts/0    00:00:00 /dm/dmdbms/bin/dmcssm ini_path=/dm/dsc/dmcssm.ini
root     22567 22516  0 14:28 pts/1    00:00:00 grep --color=auto dmdba

6、恢复数据(DSC任意节点)

(1)登录dmrman

[dmdba@rhel709:/home/dmdba]$ dmrman dcr_ini=/dm/dsc/config/dmdcr.ini
dmrman V8
RMAN> 

(2)还原数据

RMAN> restore database '/dm/dsc/config/dsc0_config/dm.ini' from backupset '/dm/dmbak/FULL_BAK_20251117';
restore database '/dm/dsc/config/dsc0_config/dm.ini' from backupset '/dm/dmbak/FULL_BAK_20251117';
file dm.key not found, use default license!
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:32][Remaining:00:00:00]                                 
restore successfully.
time used: 00:00:42.926

(3)基于归档恢复数据

为什么要基于归档恢复,有的小伙伴就要问了,因为生产数据量十几个T,全库恢复需几天,这几天的数据也要补全,所以需跑归档。

RMAN> recover database '/dm/dsc/config/dsc0_config/dm.ini' WITH ARCHIVEDIR'/dm/dmbak/dmarch';
recover database '/dm/dsc/config/dsc0_config/dm.ini' WITH ARCHIVEDIR '/dm/dmbak/dmarch';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]                               
recover successfully!
time used: 00:00:11.327

(4)更新魔数号

RMAN> recover database '/dm/dsc/config/dsc0_config/dm.ini' update db_magic;
recover database '/dm/dsc/config/dsc0_config/dm.ini' update db_magic;
recover successfully!
time used: 00:00:11.315

7、修改dmserver后台服务(DSC所有节点)

(1)主节点修改

[dmdba@rhel709:/home/dmdba]$ cat /dm/dmdbms/bin/DmServiceDSC |grep START_MODE=mount
START_MODE=mount

open改为mount。

(2)备节点修改

[dmdba@rhel709:/home/dmdba]$ cat /dm/dmdbms/bin/DmServiceDSC |grep START_MODE=mount
START_MODE=mount

open改为mount。

8、修改dm.ini后台服务(DSC所有节点)

(1)主节点修改

DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间 
ALTER_MODE_STATUS    = 0  #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS    = 2  #不允许备库 OFFLINE 表空间 
MAL_INI              = 1  #打开 MAL 系统 
ARCH_INI             = 1  #打开归档配置 
RLOG_SEND_APPLY_MON  = 64 #统计最近 64 次的日志发送信息

(2)备节点修改

DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间 
ALTER_MODE_STATUS    = 0  #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS    = 2  #不允许备库 OFFLINE 表空间 
MAL_INI              = 1  #打开 MAL 系统 
ARCH_INI             = 1  #打开归档配置 
RLOG_SEND_APPLY_MON  = 64 #统计最近 64 次的日志发送信息

9、修改dmmal.ini(所有节点)

(1)DG原始dmmal.ini

[dmdba@rhel709:/home/dmdba]$ cat /dm/dmdata/DAMENG/dmmal.ini 
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 15
MAL_TEMP_PATH = /dm/dmdata/DAMENG
MAL_BUF_SIZE = 512
MAL_SYS_BUF_SIZE = 2048
MAL_COMPRESS_LEVEL = 0
MAL_VPOOL_SIZE = 128
[MAL_INST1]
MAL_INST_NAME = GRP1_DW_01
MAL_HOST = 192.168.13.63
MAL_PORT = 5336
MAL_INST_HOST = 192.168.13.63
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
[MAL_INST2]
MAL_INST_NAME = GRP1_DW_02
MAL_HOST = 192.168.13.64
MAL_PORT = 5336
MAL_INST_HOST = 192.168.13.64
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536

(2)DSC原始dmmal.ini

[dmdba@rhel709:/home/dmdba]$ cat /dm/dsc/config/dsc0_config/dmmal.ini 
[mal_inst0]
    mal_inst_name  = DSC0 
    mal_host       = 192.168.13.61 
    mal_port       = 5736 

[mal_inst1]
    mal_inst_name  = DSC1 
    mal_host       = 192.168.13.62 
    mal_port       = 5736 

[dmdba@rhel709:/home/dmdba]$ cat /dm/dsc/config/dsc1_config/dmmal.ini 
[mal_inst0]
    mal_inst_name  = DSC0 
    mal_host       = 192.168.13.61 
    mal_port       = 5736 

[mal_inst1]
    mal_inst_name  = DSC1 
    mal_host       = 192.168.13.62 
    mal_port       = 5736 

(3)DG备份dmmal.ini

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cp dmmal.ini dmmal.ini_bak

(4)DSC备份dmmal.ini

节点一

cp /dm/dsc/config/dsc0_config/dmmal.ini /dm/dsc/config/dsc0_config/dmmal.ini_bak

节点二

cp /dm/dsc/config/dsc1_config/dmmal.ini /dm/dsc/config/dsc1_config/dmmal.ini_bak

(5)dmmal.ini统一配置

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cat dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 15

[MAL_INST1]
MAL_INST_NAME    = GRP1_DW_01
MAL_HOST         = 192.168.13.63
MAL_PORT         = 5336
MAL_INST_HOST    = 192.168.13.63
MAL_INST_PORT    = 5236
MAL_DW_PORT      = 5436
MAL_INST_DW_PORT = 5536

[MAL_INST2]
MAL_INST_NAME    = GRP1_DW_02
MAL_HOST         = 192.168.13.64
MAL_PORT         = 5336
MAL_INST_HOST    = 192.168.13.64
MAL_INST_PORT    = 5236
MAL_DW_PORT      = 5436
MAL_INST_DW_PORT = 5536

[MAL_INST3]
MAL_INST_NAME    = DSC0
MAL_HOST         = 192.168.13.61
MAL_PORT         = 5881
MAL_INST_HOST    = 192.168.13.61
MAL_INST_PORT    = 5236
MAL_DW_PORT      = 5883
MAL_INST_DW_PORT = 5885

[MAL_INST4]
MAL_INST_NAME    = DSC1
MAL_HOST         = 192.168.13.62
MAL_PORT         = 5881
MAL_INST_HOST    = 192.168.13.62
MAL_INST_PORT    = 5236
MAL_DW_PORT      = 5883
MAL_INST_DW_PORT = 5885

10、拷贝dmmal.ini(所有节点)

(1)DG节点拷贝

[dmdba@rhel709:/dm/dmdata/DAMENG]$ scp dmmal.ini dmdba@192.168.13.64:/dm/dmdata/DAMENG/
Warning: Permanently added '192.168.13.64' (ECDSA) to the list of known hosts.
dmdba@192.168.13.64's password: 
dmmal.ini                                                                                                                                       100%  860   687.9KB/s   00:00

(2)DSC节点拷贝

[dmdba@rhel709:/dm/dmdata/DAMENG]$ scp dmmal.ini dmdba@192.168.13.61:/dm/dsc/config/dsc0_config/
dmdba@192.168.13.61's password: 
dmmal.ini                                                                                                                                       100%  860   715.3KB/s   00:00    

[dmdba@rhel709:/dm/dmdata/DAMENG]$ scp dmmal.ini dmdba@192.168.13.62:/dm/dsc/config/dsc1_config/
Warning: Permanently added '192.168.13.62' (ECDSA) to the list of known hosts.
dmdba@192.168.13.62's password: 
dmmal.ini                                                                                                                                       100%  860   674.1KB/s   00:00 

11、修改dmarch.ini(所有节点)

(1)DG节点一原始dmarch.ini

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cat dmarch.ini 
ARCH_WAIT_APPLY = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/DAMENG
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_02

(2)DG节点二原始dmarch.ini

[dmdba@rhel709:/home/dmdba]$ cat /dm/dmdata/DAMENG/dmarch.ini
ARCH_WAIT_APPLY = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/DAMENG
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_01

(3)DSC节点一原始dmarch.ini

[dmdba@rhel709:/home/dmdba]$ cat /dm/dsc/config/dsc0_config/dmarch.ini 
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/arch/dsc0/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMDATA/arch/dsc1/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

(4)DSC节点二原始dmarch.ini

[dmdba@rhel709:/home/dmdba]$ cat /dm/dsc/config/dsc1_config/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/arch/dsc1/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMDATA/arch/dsc0/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

(5)备份dmarch.ini(DG节点一)

[dmdba@rhel709:/dm/dmdata/DAMENG]$ pwd
/dm/dmdata/DAMENG

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cp dmarch.ini dmarch.ini_bak

(6)备份dmarch.ini(DG节点二)

[dmdba@rhel709:/dm/dmdata/DAMENG]$ pwd
/dm/dmdata/DAMENG

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cp dmarch.ini dmarch.ini_bak

(7)备份dmarch.ini(DSC节点一)

[dmdba@rhel709:/home/dmdba]$ cd /dm/dsc/config/dsc0_config/
[dmdba@rhel709:/dm/dsc/config/dsc0_config]$ cp dmarch.ini dmarch.ini_bak

(8)备份dmarch.ini(DSC节点二)

[dmdba@rhel709:/home/dmdba]$ cd /dm/dsc/config/dsc1_config
[dmdba@rhel709:/dm/dsc/config/dsc1_config]$ cp dmarch.ini dmarch.ini_bak

(9)DG节点一最新dmarch.ini

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cat dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/DAMENG
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_02

[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC0/DSC1

(10)DG节点二最新dmarch.ini

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cat dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch/DAMENG
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 4096
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_01

[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC0/DSC1

(11)DSC节点一最新dmarch.ini

[dmdba@rhel709:/dm/dsc/config/dsc0_config]$ cat dmarch.ini
ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/arch/dsc0/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMDATA/arch/dsc1/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_02

[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_01

(12)DSC节点二最新dmarch.ini

[dmdba@rhel709:/dm/dsc/config/dsc1_config]$ cat dmarch.ini
ARCH_LOCAL_SHARE = 1

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/arch/dsc1/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMDATA/arch/dsc0/
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240

[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_02

[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_DW_01

12、修改dmwatcher.ini(DSC所有节点)

主备集群的dmwatcher.ini不需要修改,我的INST_OGUID = 872315,所有节点需一致。

(1)节点一

[dmdba@rhel709:/dm/dsc/config/dsc0_config]$ pwd
/dm/dsc/config/dsc0_config

[dmdba@rhel709:/dm/dsc/config/dsc0_config]$ cat dmwatcher.ini 
[GRP1]
DW_TYPE              = GLOBAL
DW_MODE              = AUTO
DW_ERROR_TIME        = 30
INST_ERROR_TIME      = 20
INST_RECOVER_TIME    = 60
INST_OGUID           = 872315
INST_INI             = /dm/dsc/config/dsc0_config/dm.ini
DCR_INI              = /dm/dsc/config/dmdcr.ini
INST_AUTO_RESTART    = 1
INST_STARTUP_CMD     = /dm/dmdbms/bin/DmServiceDSC start
RLOG_SEND_THRESHOLD  = 0
RLOG_APPLY_THRESHOLD = 0

(2)节点二

[dmdba@rhel709:/dm/dsc/config/dsc1_config]$ pwd
/dm/dsc/config/dsc1_config

[dmdba@rhel709:/dm/dsc/config/dsc1_config]$ cat dmwatcher.ini 
[GRP1]
DW_TYPE              = GLOBAL
DW_MODE              = AUTO
DW_ERROR_TIME        = 30
INST_ERROR_TIME      = 20
INST_RECOVER_TIME    = 60
INST_OGUID           = 872315
INST_INI             = /dm/dsc/config/dsc1_config/dm.ini
DCR_INI              = /dm/dsc/config/dmdcr.ini
INST_AUTO_RESTART    = 1
INST_STARTUP_CMD     = /dm/dmdbms/bin/DmServiceDSC start
RLOG_SEND_THRESHOLD  = 0
RLOG_APPLY_THRESHOLD = 0

13、注册dmwatcher服务(DSC所有节点)

(1)节点一

[root@rhel709:/dm/dmdbms/script/root]# ./dm_service_installer.sh -t dmwatcher -p Dm -watcher_ini /dm/dsc/config/dsc0_config/dmwatcher.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceDm.service to /usr/lib/systemd/system/DmWatcherServiceDm.service.
Finished to create the service (DmWatcherServiceDm)

(2)节点二

[root@rhel709:/dm/dmdbms/script/root]# ./dm_service_installer.sh -t dmwatcher -p Dm -watcher_ini /dm/dsc/config/dsc1_config/dmwatcher.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceDm.service to /usr/lib/systemd/system/DmWatcherServiceDm.service.
Finished to create the service (DmWatcherServiceDm)

14、修改dmmonitor.ini(DG监视器节点)

(1)dmmonitor.ini原始配置

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cat dmmonitor_GRP1.ini 
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 2048
[GRP1]
MON_INST_OGUID = 872315
MON_DW_IP = 192.168.13.63:5436
MON_DW_IP = 192.168.13.64:5436

(2)dmmonitor.ini最新配置

[dmdba@rhel709:/dm/dmdata/DAMENG]$ cat dmmonitor_GRP1.ini 
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 2048
[GRP1]
MON_INST_OGUID = 872315
MON_DW_IP = 192.168.13.63:5436
MON_DW_IP = 192.168.13.64:5436
MON_DW_IP = 192.168.13.61:5883/192.168.13.62:5883

15、配置 dmdcr.ini(DSC所有节点)

如果dmserver服务是以后台形式配置,14、15、16等步骤无需操作,但需拉起dsc所有节点的dmserver服务。

(1)节点一原始配置

[dmdba@rhel709:/home/dmdba]$ cd /dm/dsc/config/

[dmdba@rhel709:/dm/dsc/config]$ cat dmdcr.ini 
DMDCR_PATH                 = /dev/raw/raw1
DMDCR_MAL_PATH             = /dm/dsc/config/dmasvrmal.ini
DMDCR_SEQNO                = 0
DMDCR_AUTO_OPEN_CHECK      = 90

DMDCR_ASM_RESTART_INTERVAL = 30  #CSS认定ASM故障重启的时间
DMDCR_ASM_STARTUP_CMD      = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dsc/config/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL  = 60  #CSS认定DSC故障重启的时间
DMDCR_DB_STARTUP_CMD       = /dm/dmdbms/bin/dmserver path=/dm/dsc/config/dsc0_config/dm.ini dcr_ini=/dm/dsc/config/dmdcr.ini

(2)节点二原始配置

[dmdba@rhel709:/dm/dsc/config]$ cat dmdcr.ini 
DMDCR_PATH                 = /dev/raw/raw1
DMDCR_MAL_PATH             = /dm/dsc/config/dmasvrmal.ini
DMDCR_SEQNO                = 1
DMDCR_AUTO_OPEN_CHECK      = 90

DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD      = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dsc/config/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL  = 60
DMDCR_DB_STARTUP_CMD       = /dm/dmdbms/bin/dmserver path=/dm/dsc/config/dsc1_config/dm.ini dcr_ini=/dm/dsc/config/dmdcr.ini

 (3)节点一最新配置

[dmdba@rhel709:/dm/dsc/config]$ cat dmdcr.ini 
DMDCR_PATH                 = /dev/raw/raw1
DMDCR_MAL_PATH             = /dm/dsc/config/dmasvrmal.ini
DMDCR_SEQNO                = 0
DMDCR_AUTO_OPEN_CHECK      = 90

DMDCR_ASM_RESTART_INTERVAL = 30  #CSS认定ASM故障重启的时间
DMDCR_ASM_STARTUP_CMD      = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dsc/config/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL  = 60  #CSS认定DSC故障重启的时间
DMDCR_DB_STARTUP_CMD       = /dm/dmdbms/bin/DmServiceDSC start

(4)节点二最新配置

[dmdba@rhel709:/dm/dsc/config]$ cat dmdcr.ini 
DMDCR_PATH                 = /dev/raw/raw1
DMDCR_MAL_PATH             = /dm/dsc/config/dmasvrmal.ini
DMDCR_SEQNO                = 1
DMDCR_AUTO_OPEN_CHECK      = 90

DMDCR_ASM_RESTART_INTERVAL = 30
DMDCR_ASM_STARTUP_CMD      = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dsc/config/dmdcr.ini

DMDCR_DB_RESTART_INTERVAL  = 60
DMDCR_DB_STARTUP_CMD       = /dm/dmdbms/bin/DmServiceDSC start

16、关闭ASM服务(DSC任意节点)

(1)登录dmcssm

[dmdba@rhel709:/dm/dmdbms/bin]$ /dm/dmdbms/bin/dmcssm ini_path=/dm/dsc/dmcssm.ini
[monitor]          [2025-11-17 17:23:44:998] CSS MONITOR V8
[monitor]          [2025-11-17 17:23:45:016] CSS MONITOR SYSTEM IS READY.

[monitor]          [2025-11-17 17:23:45:023] Wait CSS Control Node choosed...
[monitor]          [2025-11-17 17:23:46:126] Wait CSS Control Node choosed succeed.

show

monitor current time:2025-11-17 17:23:47, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 1] ========================================

DSC_MODE = FULL
[CSS0] auto check = TRUE, global info:
[ASM0] auto restart = TRUE
[DSC0] auto restart = FALSE
[CSS1] auto check = TRUE, global info:
[ASM1] auto restart = TRUE
[DSC1] auto restart = FALSE

ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-17 17:23:47    CSS0      0     5336   Normal Node  OPEN              WORKING      OK     TRUE   126473750     21100     127518089   
        2025-11-17 17:23:47    CSS1      1     5336   Control Node OPEN              WORKING      OK     TRUE   3149          1420      1321043     

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 1] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-17 17:23:47    ASM0      0     5436   Normal Node  OPEN              WORKING      OK     TRUE   126494677     21219     127539211   
        2025-11-17 17:23:47    ASM1      1     5436   Control Node OPEN              WORKING      OK     TRUE   11950         2045      1329928     

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 255] ========================================

n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is FALSE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-17 17:23:47    DSC0      0     5236   Normal Node  SHUTDOWN          SHUTDOWN     OK     FALSE  236775127     21404     237808763   
        2025-11-17 17:23:47    DSC1      1     5236   Normal Node  SHUTDOWN          SHUTDOWN     OK     FALSE  235285531     21772     236320964   

==================================================================================================================

(2)关闭ASM服务

ep stop GRP_ASM
[monitor]          [2025-11-17 17:24:59:610] Notify CSS(seqno:0) set ep(ASM0)auto restart off
[monitor]          [2025-11-17 17:24:59:662] Notify CSS(seqno:0) set ep(ASM0)auto restart off success
[monitor]          [2025-11-17 17:24:59:662] Notify CSS(seqno:1) set ep(ASM1)auto restart off
[monitor]          [2025-11-17 17:24:59:713] Notify CSS(seqno:1) set ep(ASM1)auto restart off success
[monitor]          [2025-11-17 17:24:59:714] Set CSS auto restart off success
[monitor]          [2025-11-17 17:24:59:714] Notify CSS(seqno:1) execute EP STOP(GRP_ASM)
[monitor]          [2025-11-17 17:25:08:081] Notify current active CSS to do clear
[monitor]          [2025-11-17 17:25:08:785] Clean request of CSS(0) success
[monitor]          [2025-11-17 17:25:09:037] Clean request of CSS(1) success
[monitor]          [2025-11-17 17:25:09:038] Command EP STOP GRP_ASM execute success

(3)确认ASM服务

DSC节点一

[dmdba@rhel709:/dm/dsc/config]$ ps -ef|grep dmdba
dmdba     1411     1  0 11月02 ?      00:01:46 /dm/dmdbms/bin/dmap dmap_ini=/dm/dmdbms/bin/dmap.ini
root      9775 27279  0 17:13 pts/0    00:00:00 su - dmdba
dmdba     9776  9775  0 17:13 pts/0    00:00:00 -bash
dmdba    10955  9776  0 17:25 pts/0    00:00:00 ps -ef
dmdba    10956  9776  0 17:25 pts/0    00:00:00 grep --color=auto dmdba
dmdba    21100     1  0 11月05 ?      01:32:27 /dm/dmdbms/bin/dmcss dcr_ini=/dm/dsc/config/dmdcr.ini -noconsole

DSC节点二

[dmdba@rhel709:/dm/dsc/config]$ ps -ef|grep dmdba
root      1143 23831  0 10:55 pts/0    00:00:00 su - dmdba
dmdba     1144  1143  0 10:55 pts/0    00:00:00 -bash
dmdba     1420     1  0 11月02 ?      01:56:19 /dm/dmdbms/bin/dmcss dcr_ini=/dm/dsc/config/dmdcr.ini -noconsole
dmdba     1423     1  0 11月02 ?      00:01:42 /dm/dmdbms/bin/dmap dmap_ini=/dm/dmdbms/bin/dmap.ini
root      5967 22516  0 17:18 pts/1    00:00:00 su - dmdba
dmdba     5969  5967  0 17:18 pts/1    00:00:00 -bash
dmdba     6528  1144  0 17:23 pts/0    00:00:00 /dm/dmdbms/bin/dmcssm ini_path=/dm/dsc/dmcssm.ini
dmdba     6711  5969  0 17:25 pts/1    00:00:00 ps -ef
dmdba     6712  5969  0 17:25 pts/1    00:00:00 grep --color=auto dmdba

17、重启CSS服务(DSC所有节点)

 (1)节点一

[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmCSSServiceCSS stop
Stopping DmCSSServiceCSS:                                  [ OK ]
[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmCSSServiceCSS start
Starting DmCSSServiceCSS:                                  [ OK ]

(2)节点二

[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmCSSServiceCSS stop
Stopping DmCSSServiceCSS:                                  [ OK ]
[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmCSSServiceCSS start
Starting DmCSSServiceCSS:                                  [ OK ]

这里会拉起所有服务:CSS、ASM、DMSERVER。

18、设置OGUID和模式(DSC任意节点)

[dmdba@rhel709:/dm/dmdbms/bin]$ ./disql SYSDBA/'"Dameng@123"'

Server[LOCALHOST:5236]:mode is primary, state is mount
login used time : 14.150(ms)
密钥过期时间:2026-09-17
disql V8
17:54:03 SYSDBA@DAMENG:5236 SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
DMSQL executed successfully
used time: 57.327(ms). Execute id is 308.

17:54:04 SYSDBA@DAMENG:5236 SQL> SP_SET_OGUID(872315);
DMSQL executed successfully
used time: 47.234(ms). Execute id is 309.

17:54:11 SYSDBA@DAMENG:5236 SQL> ALTER DATABASE STANDBY;
executed successfully
used time: 173.362(ms). Execute id is 0.

17:54:17 SYSDBA@DAMENG:5236 SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL executed successfully
used time: 54.089(ms). Execute id is 310.

19、dmwatcher、dmserver服务重启(DG所有节点)

(1)节点一

DmWatcherServiceGRP1 stop
DmServiceDAMENG restart
DmWatcherServiceGRP1 start

(2)节点二

DmWatcherServiceGRP1 stop
DmServiceDAMENG restart
DmWatcherServiceGRP1 start

20、dmwatcher服务启动(DSC所有节点)

(1)节点一

[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmWatcherServiceDm start
Starting DmWatcherServiceDm:                               [ OK ]

(2)节点二

[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmWatcherServiceDm start
Starting DmWatcherServiceDm:                               [ OK ]

21、监视器查看(监视器节点)

所有的WSTATUS、ISTATUS都是OPEN就是正常状态。

[dmdba@rhel709:/dm/dmdbms/bin]$ ./dmmonitor path=/dm/dmdata/DAMENG/dmmonitor_GRP1.ini
[monitor]         2025-11-18 08:39:44: DMMONITOR[4.0] V8
[monitor]         2025-11-18 08:39:44: DMMONITOR[4.0] IS READY.

[monitor]         2025-11-18 08:39:44: 
#-----------------------------------------------------------------------------------------------#
GET MONITOR CONNECT INFO FROM DMWATCHER(GRP1_DW_01), THE FIRST LINE IS SELF INFO.

DW_CONN_TIME         MON_CONFIRM    MID            MON_IP                MON_VERSION                                                     
2025-11-18 08:39:44  TRUE           1433810096     ::ffff:192.168.13.64  DMMONITOR[4.0] V8
                                              
#-----------------------------------------------------------------------------------------------#

[monitor]         2025-11-18 08:39:44: Received message from(GRP1_DW_01)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2025-11-18 08:39:44  OPEN           OK        GRP1_DW_01       OPEN        PRIMARY   VALID    10       491611671       491611671       

[monitor]         2025-11-18 08:39:44: Received message from(DSC0)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2025-11-18 08:39:45  OPEN           OK        DSC0             OPEN        STANDBY   VALID    10       491611671       491611671       

[monitor]         2025-11-18 08:39:44: Received message from(GRP1_DW_02)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2025-11-18 08:39:44  OPEN           OK        GRP1_DW_02       OPEN        STANDBY   VALID    10       491611671       491611671       

[monitor]         2025-11-18 08:39:44: Received message from(DSC1)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2025-11-18 08:39:45  STARTUP        OK        DSC0             OPEN        STANDBY   VALID    10       491611671       491611671       

show
2025-11-18 08:40:04 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             872315      TRUE            AUTO            FALSE     


<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.63  5436         2025-11-18 08:40:03  GLOBAL    VALID     OPEN           GRP1_DW_01       OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.63  5236       OK        GRP1_DW_01       OPEN        PRIMARY   0          0            REALTIME  VALID       258058          491611677       258058          491611677       NONE                  

<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.64  5436         2025-11-18 08:40:03  GLOBAL    VALID     OPEN           GRP1_DW_02       OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.64  5236       OK        GRP1_DW_02       OPEN        STANDBY   0          0            REALTIME  VALID       258058          491611677       258058          491611677       NONE                  

DATABASE(GRP1_DW_02) APPLY INFO FROM (GRP1_DW_01), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[258058, 258058, 258058], (RLSN, SLSN, KLSN)[491611677, 491611677, 491611677], N_TSK[0], TSK_MEM_USE[0] 


<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.61  5883         2025-11-18 08:40:04  GLOBAL    VALID     OPEN           DSC0             OK        2     2     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.61  5236       OK        DSC0             OPEN        STANDBY   0          0            REALTIME  VALID       258058          491611677       258058          491611677       NONE                  
192.168.13.62  5236       OK        DSC1             OPEN        STANDBY   1          0            REALTIME  VALID       2456            491598012       2456            491598012       NONE                  

DATABASE(DSC0) APPLY INFO FROM (GRP1_DW_01), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[258058, 258058, 258058], (RLSN, SLSN, KLSN)[491611677, 491611677, 491611677], N_TSK[0], TSK_MEM_USE[0] 


#================================================================================#

22、集群切换(监视器节点)

我们将DSC切换为主。

login
username:SYSDBA
password:
[monitor]         2025-11-18 08:42:36: Login dmmonitor success!

switchover GRP1.DSC0
Be careful to do so, this operation will cause switching of primary database, continue use GRP1.DSC0 to do SWITCHOVER or not(YES/NO/Y/N)?
Y
[monitor]         2025-11-18 08:42:47: Start to switchover instance DSC0
[monitor]         2025-11-18 08:42:47: Notify dmwatcher(GRP1_DW_01) switch to SWITCHOVER status
[monitor]         2025-11-18 08:42:47: Dmwatcher process GRP1_DW_01 status switching [OPEN-->SWITCHOVER] 
[monitor]         2025-11-18 08:42:47: Switch dmwatcher GRP1_DW_01 to SWITCHOVER status success
[monitor]         2025-11-18 08:42:47: Notify dmwatcher(DSC0) switch to SWITCHOVER status
[monitor]         2025-11-18 08:42:47: Dmwatcher process DSC0 status switching [OPEN-->SWITCHOVER] 
[monitor]         2025-11-18 08:42:47: Switch dmwatcher DSC0 to SWITCHOVER status success
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 start to execute sql SP_SET_GLOBAL_DW_STATUS(0, 6)
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 execute sql SP_SET_GLOBAL_DW_STATUS(0, 6) success
[monitor]         2025-11-18 08:42:47: Instance DSC0 start to execute sql SP_SET_GLOBAL_DW_STATUS(0, 6)
[monitor]         2025-11-18 08:42:47: Instance DSC0 execute sql SP_SET_GLOBAL_DW_STATUS(0, 6) success
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 start to execute sql ALTER DATABASE MOUNT
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 execute sql ALTER DATABASE MOUNT success
[monitor]         2025-11-18 08:42:47: Instance DSC0 start to execute sql SP_APPLY_KEEP_PKG()
[monitor]         2025-11-18 08:42:47: Instance DSC0 execute sql SP_APPLY_KEEP_PKG() success
[monitor]         2025-11-18 08:42:47: Instance DSC0 start to execute sql ALTER DATABASE MOUNT
[monitor]         2025-11-18 08:42:47: Instance DSC0 execute sql ALTER DATABASE MOUNT success
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 start to execute sql ALTER DATABASE STANDBY
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 execute sql ALTER DATABASE STANDBY success
[monitor]         2025-11-18 08:42:47: Instance DSC0 start to execute sql ALTER DATABASE PRIMARY
[monitor]         2025-11-18 08:42:47: Instance DSC0 execute sql ALTER DATABASE PRIMARY success
[monitor]         2025-11-18 08:42:47: Notify instance DSC0 to change all arch status to be invalid
[monitor]         2025-11-18 08:42:47: Succeed to change all instances arch status to be invalid
[monitor]         2025-11-18 08:42:47: Instance GRP1_DW_01 start to execute sql ALTER DATABASE OPEN FORCE
[monitor]         2025-11-18 08:42:48: Instance GRP1_DW_01 execute sql ALTER DATABASE OPEN FORCE success
[monitor]         2025-11-18 08:42:48: Instance DSC0 start to execute sql ALTER DATABASE OPEN FORCE
[monitor]         2025-11-18 08:42:48: Instance DSC0 execute sql ALTER DATABASE OPEN FORCE success
[monitor]         2025-11-18 08:42:48: Instance GRP1_DW_01 start to execute sql SP_SET_GLOBAL_DW_STATUS(6, 0)
[monitor]         2025-11-18 08:42:48: Instance GRP1_DW_01 execute sql SP_SET_GLOBAL_DW_STATUS(6, 0) success
[monitor]         2025-11-18 08:42:48: Instance DSC0 start to execute sql SP_SET_GLOBAL_DW_STATUS(6, 0)
[monitor]         2025-11-18 08:42:48: Instance DSC0 execute sql SP_SET_GLOBAL_DW_STATUS(6, 0) success
[monitor]         2025-11-18 08:42:48: Notify dmwatcher(GRP1_DW_01) switch to OPEN status
[monitor]         2025-11-18 08:42:48: Dmwatcher process GRP1_DW_01 status switching [SWITCHOVER-->OPEN] 
[monitor]         2025-11-18 08:42:48: Switch dmwatcher GRP1_DW_01 to OPEN status success
[monitor]         2025-11-18 08:42:48: Notify dmwatcher(DSC0) switch to OPEN status
[monitor]         2025-11-18 08:42:48: Dmwatcher process DSC0 status switching [SWITCHOVER-->OPEN] 
[monitor]         2025-11-18 08:42:48: Switch dmwatcher DSC0 to OPEN status success
[monitor]         2025-11-18 08:42:48: Notify group(GRP1)'s dmwatcher to do clear
[monitor]         2025-11-18 08:42:48: Clean request of dmwatcher processer GRP1_DW_01 success
[monitor]         2025-11-18 08:42:48: Clean request of dmwatcher processer GRP1_DW_02 success
2025-11-18 08:42:48 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             872315      TRUE            AUTO            FALSE     


<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.61  5883         2025-11-18 08:42:49  GLOBAL    VALID     OPEN           DSC0             OK        2     2     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.61  5236       OK        DSC0             OPEN        PRIMARY   0          0            REALTIME  VALID       258068          491611821       258068          491611821       NONE                  
192.168.13.62  5236       OK        DSC1             OPEN        PRIMARY   1          0            REALTIME  VALID       2458            491611809       2458            491611809       NONE                  

<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.63  5436         2025-11-18 08:42:48  GLOBAL    VALID     OPEN           GRP1_DW_01       OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  INVALID     FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.63  5236       OK        GRP1_DW_01       OPEN        STANDBY   0          0            REALTIME  INVALID     258065          491611749       258065          491611749       NONE                  

DATABASE(GRP1_DW_01) APPLY INFO FROM (DSC0), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[258065, 258065, 258065], (RLSN, SLSN, KLSN)[491611749, 491611749, 491611749], N_TSK[0], TSK_MEM_USE[0] 


<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.64  5436         2025-11-18 08:42:48  GLOBAL    VALID     OPEN           GRP1_DW_02       OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  INVALID     FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.64  5236       OK        GRP1_DW_02       OPEN        STANDBY   0          0            REALTIME  INVALID     258065          491611749       258065          491611749       NONE                  

DATABASE(GRP1_DW_02) APPLY INFO FROM (GRP1_DW_01), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[258065, 258065, 258065], (RLSN, SLSN, KLSN)[491611749, 491611749, 491611749], N_TSK[0], TSK_MEM_USE[0] 


#================================================================================#

[monitor]         2025-11-18 08:42:48: Clean request of dmwatcher processer DSC0 success
[monitor]         2025-11-18 08:42:48: Switchover instance DSC0 success

[monitor]         2025-11-18 08:42:51: Dmwatcher process DSC0 status switching [OPEN-->RECOVERY] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2025-11-18 08:42:51  RECOVERY       OK        DSC0             OPEN        PRIMARY   VALID    11       491611821       491611821       

[monitor]         2025-11-18 08:42:54: Dmwatcher process DSC0 status switching [RECOVERY-->OPEN] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2025-11-18 08:42:55  OPEN           OK        DSC0             OPEN        PRIMARY   VALID    11       491611821       491611821       

show
2025-11-18 08:43:05 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             872315      TRUE            AUTO            FALSE     


<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.61  5883         2025-11-18 08:43:05  GLOBAL    VALID     OPEN           DSC0             OK        2     2     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.61  5236       OK        DSC0             OPEN        PRIMARY   0          0            REALTIME  VALID       258068          491611821       258068          491611821       NONE                  
192.168.13.62  5236       OK        DSC1             OPEN        PRIMARY   1          0            REALTIME  VALID       2458            491611809       2458            491611821       NONE                  

<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.63  5436         2025-11-18 08:43:04  GLOBAL    VALID     OPEN           GRP1_DW_01       OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.63  5236       OK        GRP1_DW_01       OPEN        STANDBY   0          0            REALTIME  VALID       258068          491611821       258068          491611821       NONE                  

DATABASE(GRP1_DW_01) APPLY INFO FROM (DSC0), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[258068, 258068, 258068], (RLSN, SLSN, KLSN)[491611821, 491611821, 491611821], N_TSK[0], TSK_MEM_USE[0] 

DSC_SEQNO[1], (RSEQ, SSEQ, KSEQ)[2458, 2458, 2458], (RLSN, SLSN, KLSN)[491611809, 491611809, 491611809], N_TSK[0], TSK_MEM_USE[0] 


<<DATABASE GLOBAL INFO:>>
DW_IP          MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT       DETACHED    
192.168.13.64  5436         2025-11-18 08:43:04  GLOBAL    VALID     OPEN           GRP1_DW_02       OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID       FALSE       

EP INFO:
INST_IP        INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT       FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.13.64  5236       OK        GRP1_DW_02       OPEN        STANDBY   0          0            REALTIME  VALID       258068          491611821       258068          491611821       NONE                  

DATABASE(GRP1_DW_02) APPLY INFO FROM (DSC0), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[258068, 258068, 258068], (RLSN, SLSN, KLSN)[491611821, 491611821, 491611821], N_TSK[0], TSK_MEM_USE[0] 

DSC_SEQNO[1], (RSEQ, SSEQ, KSEQ)[2458, 2458, 2458], (RLSN, SLSN, KLSN)[491611809, 491611809, 491611809], N_TSK[0], TSK_MEM_USE[0] 


#================================================================================#

23、dmmonitor监视器服务后台启动(监视器节点)

[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmMonitorServiceMONITOR start
Starting DmMonitorServiceMONITOR:                          [ OK ]

24、dmcssm监视器服务后台启动(监视器节点)

[dmdba@rhel709:/dm/dmdbms/bin]$ ./DmCSSMonitorServiceMonitor start
Starting DmCSSMonitorServiceMonitor:                       [ OK ]

六、总结

整体搭建下来,还是比较繁琐,且遇到一些问题,但达梦的报错还是挺好的,见名知意,这对于生产环境主备集群替换为DSC集群,有一定的借鉴作用,后续还是要多做一些自动化的事情,提高效率,多一些个人学习时间。

达梦数据库(DM Database)支持多种集群部署模式,包括主备集群、共享存储集群DSC)以及MPP集群等,适用于高可用性、负载均衡和数据一致性要求较高的场景。以下是关于达梦数据库集群的配置、部署与管理的关键信息: ### 3.1 达梦数据库集群类型概述 达梦数据库主要支持以下几种集群架构: - **主备集群(Data Guard)**:适用于高可用和灾难恢复场景,主库负责处理事务,备库通过日志同步机制保持数据一致性。 - **共享存储集群DSC)**:多个节点共享同一份数据文件,支持并行访问,适用于高并发、低延迟的 OLTP 场景。 - **MPP(Massively Parallel Processing)集群**:分布式架构,每个节点拥有独立数据分区,适用于大规模数据分析和处理。 ### 3.2 达梦数据库 DSC 集群部署流程 #### 3.2.1 环境准备 - 确保所有节点操作系统一致,网络互通。 - 安装相同版本的达梦数据库软件。 - 配置共享存储设备,确保所有节点可访问共享磁盘。 #### 3.2.2 挂载镜像并安装数据库 挂载安装镜像并以 `dmdba` 用户执行安装脚本: ```bash mount -o loop /usr/dm8_20250122_x86_rh7_64.iso /mnt su dmdba cd /mnt ./DMInstall.bin -i ``` #### 3.2.3 初始化数据库实例 使用 `dminit` 工具初始化数据库实例,只需在一个节点执行[^3]: ```bash cd /home/dmdba/dmdbms/bin ./dminit control=/home/dmdba/DscCfg/dminit.ini SYSDBA_PWD=Dameng_dba1 SYSAUDITOR_PWD=Dameng_oa1 ``` #### 3.2.4 配置集群参数文件 编辑 `dsc2_config/` 中的 `dm.ini` 和 `dmmal.ini` 文件,配置集群节点信息、通信端口、共享存储路径等。 #### 3.2.5 同步配置文件到其他节点 将配置文件复制到其他节点,确保所有节点配置一致: ```bash scp -rp dsc2_config/ 192.168.111.12:/dmdsc8/ ``` #### 3.2.6 注册并启动集群服务 在主库节点注册并启动守护服务: ```bash ./dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dmdbms/data/DM1/dmwatcher.ini -p dmrw1 ``` 启动集群实例并验证状态: ```bash dmserver /opt/dmdbms/data/DM1/dm.ini ``` ### 3.3 达梦数据库集群管理 #### 3.3.1 主备集群管理 - **主备切换**:通过 `dmctl` 或图形化工具进行手动切换。 - **同步状态监控**:查看 `v$archived_log` 和 `v$dmwatcher` 视图监控同步状态。 - **故障切换配置**:配置自动切换策略,提升系统可用性。 #### 3.3.2 DSC 集群管理 - **节点状态监控**:通过 `v$dsc_node` 视图查看节点状态。 - **集群日志管理**:定期检查 `dmdsc` 日志,确保节点间通信正常。 - **资源组管理**:配置资源组实现负载均衡。 #### 3.3.3 异步备库配置 对于大规模数据库,可配置多个异步备库用于统计报表等任务。异步备库支持多源配置,确保主库切换后仍可继续同步数据[^5]。 ### 3.4 常见问题处理 - **节点无法加入集群**:检查网络配置、共享存储权限、`dmmal.ini` 文件是否一致。 - **同步延迟过高**:优化网络带宽、调整日志同步参数。 - **服务启动失败**:检查日志文件 `/opt/dmdbms/log/dmserver.log`,定位具体错误。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值