达梦数据库dsc集群+异步主备

发布于:2025-06-12 ⋅ 阅读:(21) ⋅ 点赞:(0)

文讨论了在达梦dsc集群搭建好的情况下部署异步主备的相关操作,涵盖环境配置、软件安装、数据库初始化及多种文件配置等内容。关键要点包括:

1.环境准备

操作环境为VMware Workstation 16 Pro,各节点机器配置均为4核4G、磁盘20g,操作系统为kylin-v10,需关闭防火墙,创建用户组和用户,调整系统资源限制。

2.软件安装与初始化

下载达梦8镜像解压挂载,切换到dmdba用户安装,确保/tmp目录或指定临时目录有2GB空间。安装完成后初始化数据库并配置服务。

3.数据备份与还原

登录css监视器停止dsc集群组,在DMDSC0节点备份数据并scp到备库,备库进行还原操作。

4.配置文件修改修改dm.ini、dmmal.ini、dmarch.ini、dmtimer.ini、dmwatcher.ini等文件,各节点按要求设置参数。

5.实例启动与模式设置

将所有实例修改为mount启动方式后启动dsc集群实例和备库,修改节点的oguid和模式。

6.服务注册与守护进程启动

注册数据守护服务并启动守护进程,配置并启动监视器查看主备状态。

7.主备同步测试与启停顺序

异步备机数据非实时同步,可配置触发时间或手动同步。明确启动和关闭的先后顺序。

一、dsc集群搭建参考:《DSC集群部署-udev方式绑定磁盘》

在DSC集群搭建好的情况下部署异步主备

1、集群服务启动示例:

1.1、dmdsc0主节点


1.2、dmdsc1备节点


1.3、登录监视器192.168.52.30


show 查看DSC集群状态


2、环境资源分配

操作环境:VMware Workstation Pro 17

dmdsc集群

机器ip

主机名

操作系统

资源配置

实例名

dmdsc0
(控制节点)

192.168.52.30

dmdsc0

kylin-v10

4核4G,磁盘20g

DMDSC0

dmdsc1

192.168.52.31

dmdsc1

kylin-v10

4核4G,磁盘20g

DMDSC1

监视器

192.168.52.30

dmcssm

kylin-v10

4核4G,磁盘20g

备库

192.168.52.53

node1

kylin-v10

4核4G,磁盘20g

NODE1

dmdsc集群

机器ip

实例名

达梦软件安装目录

数据存储目录

dmdsc0(控制节点)

192.168.52.30

DMDSC0

/dm8/dminstall

/dm8/data

dmdsc1

192.168.52.31

DMDSC1

/dm8/dminstall

/dm8/data

监视器

192.168.52.30

/dm8/dminstall

/dm8/data

备库

192.168.52.53

NODE1

/dm8/dminstall

/dm8/data

二、备库安装达梦数据库并初始化实例

1、关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2、创建用户组、用户、安装目录:

创建用户组和用户

groupadd dinstall
useradd -g dinstall dmdba
echo "Dameng123" |passwd --stdin dmdba

dminstall是达梦数据库软件安装的位置,dmdata是达梦数据库实例存放位置,dmarch是达梦数据库归档日志存放位置,dmbak是达梦数据库备份文件存放位置

mkdir -p /dm8/{dminstall,dmdata,dmarch,dmbak}
chown -R dmdba:dinstall /dm8
chmod -R 755 /dm8

3、调整系统资源限制:

在/etc/security/limits.conf文件里面追加下面的内容

vim /etc/security/limits.conf
##内容如下:
dmdba   soft    nofile  65536
dmdba   hard    nofile  65536
dmdba   soft    nproc   65536
dmdba   hard    nproc   65536

4、下载镜像

达梦数据库镜像,官方下载:

产品下载 | 达梦在线服务平台

5、挂载镜像:

 mount -o loop dm8_20230925_x86_rh6_64.iso /mnt/

6、切换dmdba用户,安装数据库

su - dmdba
/mnt/DMInstall.bin -i

root用户下执行命令

/dm8/dminstall/script/root/root_installer.sh

数据库创建完毕!!!

7、初始化数据库与配置服务

7.1、初始化数据库(在dmdba用户下执行)

具体的使用参数参考官方文档:查看 dminit 参数

su - dmdba

/dm8/dminstall/bin/dminit path=/dm8/dmdata db_name=DSC instance_name=NODE1 port_num=5236

7.2、配置服务(在dmdba用户下执行)

su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmService ./DmServiceNODE1
# 修改DmServiceNODE1文件
vim DmServiceNODE1

#修改内容
INI_PATH=%INI_PATH% 改为 INI_PATH=/dm8/dmdata/DSC/dm.ini



# 启动数据库实例,看看是否正常
./DmServiceNODE1 start

# 如果正常,停止实例
./DmServiceNODE1 stop



7.2、配置服务(在dmdba用户下执行)

三、登录到css监视器(192.168.52.30节点),

1、停止dsc集群组

su - dmdba
cd /dm8/dminstall/bin
./dmcssm /dm8/dmdata/dmcssm.ini

# 执行命令停止dsc集群组,停止所有实例
ep stop GRP_DSC

注意:这里只需关掉实例,其他的两个服务无需关闭

2、备份dsc集群数据,到备库还原

2.1、DMDSC0(192.168.52.30)节点备份数据:

su - dmdba
cd /dm8/dminstall/bin
# dsc集群备份数据要指定dmdcr.ini配置文件
./dmrman dcr_ini=/dm8/dmdata/dmdcr.ini

注意:DmCSSServiceDMCSS0、DmASMSvrServiceDMASM0 这两个服务不能关闭,不然会报错

错误启动:

正常启动:

对数据库全备,完成后退出

backup database '/dm8/dmdata/dsc0/dm.ini' full backupset '/dm8/dmbak/dsc_full';
check backupset '/dm8/dmbak/dsc_full';
exit

把备份的数据库文件scp给备库

scp -r /dm8/dmbak/dsc_full dmdba@192.168.52.53:/dm8/dmbak/dsc_full

2.2、备库node1(192.168.52.53)还原数据库:

su - dmdba
cd /dm8/dminstall/bin
./dmrman
check backupset '/dm8/dmbak/dsc_full';
restore database '/dm8/dmdata/DSC/dm.ini' from backupset '/dm8/dmbak/dsc_full';
recover database '/dm8/dmdata/DSC/dm.ini' from backupset '/dm8/dmbak/dsc_full';
recover database '/dm8/dmdata/DSC/dm.ini' update db_magic;
exit
# 还原成功并退出

四、修改dm.ini配置文件(dmdba用户操作)

1、DMDSC0节点:

su - dmdba
vim /dm8/dmdata/dsc0/dm.ini
# 修改内容如下
INSTANCE_NAME = DMDSC1     #不用改动
PORT_NUM = 5236            #数据库实例监听端口 
ALTER_MODE_STATUS = 0      #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2      #不允许备库 OFFLINE 表空间 
MAL_INI = 1                #打开 MAL 系统
ARCH_INI = 1               #打开归档配置
TIMER_INI = 1    # 打开定时器配置,除异步备库外的主备库都需要配置

验证参数:

cat /dm8/dmdata/dsc0/dm.ini|grep -E "INSTANCE_NAME|PORT_NUM|ALTER_MODE_STATUS|ENABLE_OFFLINE_TS|MAL_INI|ARCH_INI"|grep -v _PORT_NUM

2、DMDSC1节点:

su - dmdba
vim /dm8/dmdata/dsc1/dm.ini
# 修改内容如下
INSTANCE_NAME = DMDSC1     #不用改动
PORT_NUM = 5236            #数据库实例监听端口 
ALTER_MODE_STATUS = 0      #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2      #不允许备库 OFFLINE 表空间 
MAL_INI = 1                #打开 MAL 系统
ARCH_INI = 1               #打开归档配置
TIMER_INI = 1    # 打开定时器配置,除异步备库外的主备库都需要配置

验证参数:

cat /dm8/dmdata/dsc1/dm.ini|grep -E "INSTANCE_NAME|PORT_NUM|ALTER_MODE_STATUS|ENABLE_OFFLINE_TS|MAL_INI|ARCH_INI|TIMER_INI"|grep -v _PORT_NUM

3、备库192.168.52.53:

su - dmdba
vim /dm8/dmdata/DSC/dm.ini
# 修改内容如下
INSTANCE_NAME = NODE1     #不用改动
PORT_NUM = 5236            #数据库实例监听端口 
ALTER_MODE_STATUS = 0      #不允许手工方式修改实例模式/状态/OGUID 
ENABLE_OFFLINE_TS = 2      #不允许备库 OFFLINE 表空间 
MAL_INI = 1                #打开 MAL 系统
ARCH_INI = 1               #打开归档配置

验证参数:

cat /dm8/dmdata/DSC/dm.ini|grep -E "INSTANCE_NAME|PORT_NUM|ALTER_MODE_STATUS|ENABLE_OFFLINE_TS|MAL_INI|ARCH_INI"|grep -v _PORT_NUM

五、配置dmmal.ini文件(dmdba用户操作)

所有节点的dmmal配置都要一致,DMDSC0、DMDSC1、NODE1; 之前如果存在配置全部注释掉

1、配置dmmal.ini文件

vim /dm8/dmdata/dsc0/dmmal.ini
MAL_CHECK_INTERVAL=87
MAL_CONN_FAIL_INTERVAL=180
MAL_SYS_BUF_SIZE=600
MAL_BUF_SIZE=300
MAL_VPOOL_SIZE=500
MAL_COMPRESS_LEVEL=0
[MAL_INST0]
MAL_INST_NAME = DMDSC0
MAL_HOST = 192.168.52.30
MAL_PORT = 11246
MAL_INST_HOST = 192.168.52.30  
MAL_INST_PORT = 5236  
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 5276
[MAL_INST1]
MAL_INST_NAME = DMDSC1
MAL_HOST = 192.168.52.31
MAL_PORT = 11246
MAL_INST_HOST = 192.168.52.31  
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 5276
[MAL_INST2]
MAL_INST_NAME = SLAVE1
MAL_HOST = 192.168.52.53
MAL_PORT = 11246
MAL_INST_HOST = 192.168.52.53
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 5276

2、远程传输文件到DMDSC1

scp dmmal.ini 192.168.52.31:/dm8/dmdata/dsc1/

3、远程传输文件到node1

scp dmmal.ini 192.168.52.53:/dm8/dmdata/DSC/

六、配置dmarch.ini(dmdba用户操作)

1、DMDSC0节点:

su - dmdba
vim /dm8/dmdata/dsc0/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/ARCH/DMDSC0
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dmarch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DMDSC1
ARCH_INCOMING_PATH = +DMDATA/ARCH/DMDSC1
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC   
ARCH_DEST = SLAVE1    
ARCH_TIMER_NAME = RT_TIMER 

2、DMDSC1节点:

su - dmdba
vim /dm8/dmdata/dsc1/dmarch.ini
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK=0

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMDATA/ARCH/DMDSC1
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dmarch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DMDSC0
ARCH_INCOMING_PATH = +DMDATA/ARCH/DMDSC0
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024


[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC   
ARCH_DEST = SLAVE1    
ARCH_TIMER_NAME = RT_TIMER

3、备库192.168.52.53:

su - dmdba
vim /dm8/dmdata/DSC/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dmarch
ARCH_FILE_SIZE = 256
ARCH_SPACE_LIMIT = 1024

七、配置dmtimer.ini文件(使用dmdba用户操作)

DMDSC0节点:

主库配置就行,备库不需要配置

vim /dm8/dmdata/dsc0/dmtimer.ini
[RT_TIMER]  #定时器名称,跟主库dmarch.ini一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1 #当 TYPE=2 时,表示每隔几天执行
FREQ_SUB_INTERVAL = 1  #间隔天数
FREQ_MINUTE_INTERVAL = 1 #间隔分钟数
START_TIME = 00:00:00 #定时器开始时间
END_TIME = 00:00:00 #定时器结束时间
DURING_START_DATE = 2025-04-23 16:00:00  #开始日期
DURING_END_DATE = 9999-12-31 23:59:59 #结束日期
NO_END_DATE_FLAG = 1 #是否结束标记
IS_VALID=1  #定时器有效标记

DMDSC1节点:

vim /dm8/dmdata/dsc1/dmtimer.ini
[RT_TIMER]  #定时器名称,跟主库dmarch.ini一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1 #当 TYPE=2 时,表示每隔几天执行
FREQ_SUB_INTERVAL = 1  #间隔天数
FREQ_MINUTE_INTERVAL = 1 #间隔分钟数
START_TIME = 00:00:00 #定时器开始时间
END_TIME = 00:00:00 #定时器结束时间
DURING_START_DATE = 2025-04-23 16:00:00  #开始日期
DURING_END_DATE = 9999-12-31 23:59:59 #结束日期
NO_END_DATE_FLAG = 1 #是否结束标记
IS_VALID=1  #定时器有效标记

八、配置dmwatcher.ini

1、DMDSC0节点配置dmwatcher.ini 守护线程:

su - dmdba
vim /dm8/dmdata/dsc0/dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL
DW_MODE = MANUAL
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 250423
INST_INI = /dm8/dmdata/dsc0/dm.ini
DCR_INI=/dm8/dmdata/dmdcr.ini
INST_STARTUP_CMD = /dm8/dinstall/bin/DmServiceDMDSC0 start
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

2、DMDSC1节点配置守护线程文件:

su - dmdba
vim /dm8/dmdata/dsc1/dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL
DW_MODE = MANUAL
DW_ERROR_TIME = 120
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 120
INST_OGUID = 250423
INST_INI = /dm8/dmdata/dsc1/dm.ini
DCR_INI=/dm8/dmdata/dmdcr.ini
INST_STARTUP_CMD = /dm8/dinstall/bin/DmServiceDMDSC1 start
INST_AUTO_RESTART = 0
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

3、备库node1节点(192.168.52.53)配置守护线程:

su -dmdba
vim /dm8/dmdata/DSC/dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL 
DW_MODE = MANUAL
DW_ERROR_TIME = 120 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 120 
INST_OGUID = 250423
INST_INI = /dm8/dmdata/DSC/dm.ini 
INST_AUTO_RESTART = 0 
INST_STARTUP_CMD = /dm8/dinstall/bin/DmServiceSLAVE1 start 
RLOG_SEND_THRESHOLD = 0 
RLOG_APPLY_THRESHOLD = 0

九、把所有实例修改成mount启动方式(dmdba用户操作)

1、DMDSC0节点(192.168.52.30):

su - dmdba
vim /dm8/dminstall/bin/DmServiceDMDSC0

# 修改内容:
START_MODE=open 修改成 START_MODE=mount

2、DMDSC1节点(192.168.52.31):

su - dmdba
vim /dm8/dminstall/bin/DmServiceDMDSC1

# 修改内容:
START_MODE=open 修改成 START_MODE=mount

3、备库node1(192.168.52.53):

su - dmdba
vim /dm8/dminstall/bin/DmServiceNODE1

# 修改内容:
START_MODE=open 修改成 START_MODE=mount

十、启动dsc集群实例和备库(dmdba用户操作)

上一步修改过服务的启动方式,这里直接执行服务,启动就mount状态。

1、DMDSC0节点(192.168.52.30):

su - dmdba
/dm8/dminstall/bin/DmServiceDMDSC0 start

2、DMDSC1节点(192.168.52.31):

su - dmdba
/dm8/dminstall/bin/DmServiceDMDSC1 start

3、备库node1(192.168.52.53):

su - dmdba
/dm8/dminstall/bin/DmServiceNODE1 start

十一、修改节点的oguid和模式(dmdba用户操作)

1、DMDSC0节点(192.168.52.30):

su - dmdba
cd /dm8/dminstall/bin
./disql

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(250423);
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
exit

2、DMDSC1节点(192.168.52.31):

su - dmdba
cd /dm8/dminstall/bin
./disql

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(250423);
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
exit

3、备库node1(192.168.52.53):

su - dmdba
cd /dm8/dminstall/bin
./disql

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(250423);
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
exit

十二、注册数据守护服务并启动守护进程(dmdba用户操作)

1、DMDSC0节点(192.168.52.30):

su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmWatcherService ./DmWatcherServiceDMDSC0
# 修改DmWatcherServiceDMDSC0文件
vim DmWatcherServiceDMDSC0

INI_PATH=%INI_PATH% 修改为 INI_PATH=/dm8/dmdata/dsc0/dmwatcher.ini


# 启动DMDSC0节点的守护进程
./DmWatcherServiceDMDSC0 start

2、DMDSC1节点(192.168.52.31):

su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmWatcherService ./DmWatcherServiceDMDSC1
# 修改DmWatcherServiceDMDSC1文件
vim DmWatcherServiceDMDSC1

INI_PATH=%INI_PATH% 修改为 INI_PATH=/dm8/dmdata/dsc1/dmwatcher.ini


# 启动DMDSC1节点的守护进程
./DmWatcherServiceDMDSC1 start

3、备库node1(192.168.52.53):

su - dmdba
cd /dm8/dminstall/bin
cp service_template/DmWatcherService ./DmWatcherServiceNODE1
# 修改DmWatcherServiceNODE1文件
vim DmWatcherServiceNODE1

INI_PATH=%INI_PATH% 修改为 INI_PATH=/dm8/dmdata/DSC/dmwatcher.ini


# 启动备库192.168.52.53节点的守护进程
./DmWatcherServiceNODE1 start

十三、配置监视器并启动监视器查看主备状态(在192.168.58.52机器上操作)

1、添加监视器配置文件dmmonitor.ini

su - dmdba
vim /dm8/dmdata/dmmonitor.ini
MON_DW_CONFIRM = 0
MON_LOG_PATH = /dm8/dmdata/dmmonitor_log 
MON_LOG_INTERVAL = 0 
MON_LOG_FILE_SIZE = 32 
MON_LOG_SPACE_LIMIT = 0 
[GRP1]
MON_INST_OGUID = 250423
MON_DW_IP = 192.168.52.30:52141/192.168.52.31:52141
MON_DW_IP = 192.168.52.53:52141

2、启动监视器

cd /dm8/dminstall/bin
./dmmonitor /dm8/dmdata/dmmonitor.ini

3、查看主备集群状态

show

十四、数据测试

异步备机数据并不是实时同步(定时器配置文件 dmtimer.ini ),可以配置2-3分钟触发。

如果间隔时间比较长,在主库操作时,可以通过监视器,手动指定异步备库重演到当前时间,这样备库就可以查到数据了。相对于立即同步数据

监控器执行

set database [group_name.]db_name until time time_value

1、DMDESC0建表:

CREATE table test (id int,name VARCHAR(20) );

1.1、插入数据

INSERT into test VALUES(1,'华仔');

1.2、查看表字段

SELECT * from test;

提交一下

2、DMDSC1(192.168.52.31)(过一段时间再看)

十五、强制切换主备

1、原主备

2、按照顺序关闭守护进程

slave ->dmdsc0->dmdsc1

[dmdba@node1 bin]$ ./DmWatcherServiceSLAVE1 stop
Stopping DmWatcherServiceSLAVE1:                           [ OK ]

[dmdba@dmdsc1 bin]$ ./DmWatcherServiceDMDSC1 stop
Stopping DmWatcherServiceDMDSC1:                           [ OK ]

[dmdba@dmdsc0 bin]$ ./DmWatcherServiceDMDSC0 stop
Stopping DmWatcherServiceDMDSC0:                           [ OK ]

如果不关闭会导致

并且数据库依旧是OPEN状态

3、原主库DMDSC0执行sql语句

DSC环境修改实例模式,必须所有节点都是MOUNT状态

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
alter database mount;
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

4、原主库DMDSC1执行sql语句

DSC环境修改实例模式,必须所有节点都是MOUNT状态

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
alter database mount;
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);}  DMDSC0改了之后这边也会跟着自动改

5、原备库slave1

无需操作,dmdsc0节点是DSC集群的主节点,备节点会自动跟随主节点变化

6、启动守护进程

SLAVE->DMDSC0-DMDSC1

7、登上监控器查看新主备状态

show

此时主备已经切换了

8、原来的备库现在的主库添加数据

9、可以看见无法查到表(数据无法同步过来)

十六、实现数据同步

1、关闭守护进程和数据库

2、原备库现主库备份:

cd /dm8/dminstall/bin
./dmrman
backup database '/dm8/dmdata/DSC/dm.ini' full backupset '/dm8/dmbak/dsc_full1';
cd /dm8/dmbak
scp -r  dsc_full1/ dmdba@192.168.52.30:/dm8/dmbak/fullbak1
scp -r  dsc_full1/ dmdba@192.168.52.31:/dm8/dmbak/fullbak1

3、原主库现备份DMDSC0:还原恢复数据库

./dmrman dcr_ini=/dm8/dmdata/dmdcr.ini
restore database '/dm8/dmdata/dsc0/dm.ini'  from backupset  '/dm8/dmbak/fullbak1';
recover database '/dm8/dmdata/dsc0/dm.ini'  from backupset  '/dm8/dmbak/fullbak1';
recover database '/dm8/dmdata/dsc0/dm.ini' update db_magic;

4、原主库现备份DMDSC1:还原恢复数据库

./dmrman dcr_ini=/dm8/dmdata/dmdcr.ini
restore database '/dm8/dmdata/dsc1/dm.ini'  from backupset  '/dm8/dmbak/fullbak1';
recover database '/dm8/dmdata/dsc1/dm.ini'  from backupset  '/dm8/dmbak/fullbak1';
recover database '/dm8/dmdata/dsc1/dm.ini' update db_magic;

5、备份还原后登录sql你会发现有三个主库然后手动强制切换主备:

5.1、DMDSC0:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
alter database mount;
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);  

5.2、DMDSC1:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
alter database mount;
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

5.3、slave1:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
alter database mount;
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

6、启动守护进程和监视器查看
恢复成原来的主备库

查看数据是否同步过来

插入数据后忘记提交了

但可以看见表已经过来了

 

达梦数据库社区地址:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台