2节点数据守护集群搭建
2026/7/24 4:13:38 网站建设 项目流程

一、数据守护集群安装部署前的数据准备

主库: 备库:

实例名=DMSERVER 实例名=DMSERVER2

PORT_NUM=5236 PORT_NUM=5236

MAL_INST_DW_PORT=33141 MAL_INST_DW_PORT=33142

MAL_HOST=192.168.228.140 MAL_HOST=192.168.228.141

MAL_PORT=61141 MAL_PORT=61142

MAL_DW_PORT=52141 MAL_DW_PORT=52142

MAL_INST_HOST = 192.168.228.140 MAL_INST_HOST = 192.168.228.141

二、解决问题

出现问题:主库不让建表,处在挂载状态→没做主库备份,备库还原

①要做脱机备份,要把服务全部停掉:

AP服务是备份还原的服务,要开着(AP 就是dmap,也在bin目录下):

有输出 PID 就代表 AP 服务正在运行。

②然后把数据库服务打开(只启动dmserver,守护进程dmwatcher一定要关闭),登录上数据库,看是否处于配置状态:

SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);

SQL>ALTER DATABASE NORMAL;

SQL>ALTER DATABASE OPEN;

SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

③然后把数据库服务关掉,再去执行备份

④备库还原之前先停掉dmserver和dmwatcher守护进程,AP服务要开着。

进行还原:

报错核心:无效的备份集目录。

但是主库:./dmrman CTLSTMT="CHECK BACKUPSET '/dmdata/data/BACKUP_FILE_01'",是校验成功的,说明主库成功备份到这个目录里,所以考虑备库侧的文件传输/权限问题。

在主库ping 备库IP时,发现ping不通,主库和备库都在同一个网段(192.168.228),考虑两台机器防火墙拦截,切换root关闭防火墙,操作完再exit退回dmdba用户。→可以ping通了。

⑤接下来执行备份传输,传输结束后的备库还原数据并更新:

更新数据:

报错核心:UPDATE DB_MAGIC是第二阶段操作,必须先执行不带该参数的普通RECOVER基础恢复,才能执行更新库魔数的操作:

第一步:先做基础RECOVER

./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/data/BACKUP_FILE_01'"

脱机备份没有 REDO 归档,这条命令只会完成数据库内部状态校验、生成恢复标记,不会回放日志。

第二步:基础 RECOVER 执行成功后,再执行UPDATE DB_MAGIC(适配备库,修改数据库魔数,搭建主备守护集群必须这一步)

./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

备库还原和数据库更新结束。

但是状态还是没有从挂载到open,决定重新搭建:

搭建成功。

三、进行测试

1、测试建表和插入数据备机是否能及时同步,并可查询到数据。

①主库新建测试表

②主库插入第一条测试数据

③备库执行查询,同步成功

2、制造主机故障,测试备机可接管并持续提供服务。

①停止主库数据库服务


②登录监视器

③执行接管命令

3、恢复故障主机,将故障主机加入集群。

①启动原主机的数据库服务

②验证原主机已加入集群:

原主机的角色已变为STANDBY,状态变为OPEN。

4、手动切换主备集群,恢复原主备集群的位置。

出现问题:虽然备库(原主机)的数据库实例已经正常运行,但监视器没有显示它:

排解原因:我把监视器部署在主库的克隆机上,并且两台机器的IP地址设置成了完全相同的静态IP。这在网络中是不允许的。当两台设备IP相同时,网络通信会变得混乱,导致监视器无法准确连接到指定的备库。

解决方案:给监视器分配一个新IP->重启主、备、监视器的所有服务->监视器成功显示:

①登录监视器

②查看满足切换条件的实例

可以看到 DMSERVER 可以进行切换。

③主备切换

切换成功,DMSERVER 恢复到主库对外提供服务。

四、总结

1.注意规范步骤:关防火墙->检查网络是否能ping通->初始化实例之前先kill旧的数据库实例进程->主备库初始化实例->启动服务->开启归档->主库脱机备份并拷贝给备库->备库脱机还原并更新->配置主备库(注意授权)->注册服务(实例和守护进程)->先启动主备库的数据库实例->再启动主备库的守护进程。

2.启停顺序:

启动主库实例:./DmServiceDM1 start

启动备库实例:./DmServiceDM2 start

启动主库守护进程:./DmWatcherServiceDM1 start

启动备库守护进程:./DmWatcherServiceDM2 start

启动监视器:./DmMonitorServiceDM start

关闭监视器:./DmMonitorServiceDM stop

关闭主库守护进程:./DmWatcherServiceDM1 stop

关闭备库守护进程:./DmWatcherServiceDM2 stop

关闭主库实例:./DmServiceDM1 stop

关闭备库实例:./DmServiceDM2 stop

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询