文讨论了在达梦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、启动守护进程和监视器查看
恢复成原来的主备库
恢复成原来的主备库
查看数据是否同步过来
插入数据后忘记提交了
但可以看见表已经过来了
达梦数据库社区地址:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台