达梦主备集群原理概述和集群搭建关键步骤介绍

 

达梦主备集群顾名思义就是一主一备(也可以一主多备)是一种集成化的高可靠性解决方案,同时满足用户对数据安全性和高可用性的要求。解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,满足用户不间断提供数据库服务的要求,即实现系统的双机热备功能。在使用的过程中,如果是实时同步模式的话,主机和备机的数据保持完全一致。主机产生一条新的记录时,在记录写入数据库文件之前,会把新产生的redo日志文件发送到备机,由备机重新执行接收到的redo日志,来保证主备集群数据的一致性。

 

如果主机发生故障,则备机会自动切换为主机,代替原主机的职能。以此保证服务的连续性。在原主机故障恢复之后,重新加入集群之后,则变为备机,由新主机继续执行相关的任务,并同步数据到备机。以下为主备集群系统架构图。

 

达梦主备集群原理概述和集群搭建关键步骤介绍

 

左边的primary database 为主机,右边的standby database为备机,dmwatcher为数据守护,dmmonitor为监视器。具体每一个组件的功能可以查询操作帮助文档《DM8数据守护与读写分离集群V3.0》。操作帮助所在的位置为安装目录的doc文件夹下面。

达梦主备集群原理概述和集群搭建关键步骤介绍

 

集群搭建关键步骤描述,一、集群的搭建需要在dmdba用户下进行。二、主备机两台服务器环境需要保持一致。三、主机安装完数据库服务程序之后,记得启动一次数据库服务,待启动完成之后,立即停止主机数据库服务,并对主机做全库备机。将备份文件拷贝到备机进行备机还原,根据还原三步曲进行相关操作。四、根据操作帮助文档配置主机的dm.ini、dmmal.ini、dmarch.ini、dmwatcher.ini等文件。配置完成之后,通过./dmserver /dm8/data/DAMENG/dm.ini mount方式启动服务,注意一定要通过mount方式启动。并修改节点模式为primary; 同时设置ogudi值。五、根据操作帮助文档配置配备机的dm.ini、dmmal.ini、dmarch.ini、dmwatcher.ini等文件。配置完成之后,通过./dmserver /dm8/data/DAMENG/dm.ini mount方式启动服务,注意一定要通过mount方式启动。并修改节点模式为standby; 同时设置ogudi值。六、根据配置文件配置监视器。监视器最好放在第三台机器上。

 

注意主机和备机的INST_OGUID值必须相同,组名必须相同,各服务端口不能重复,除了PORT_NUM端口之外。

 

1、    安装程序

groupadd dinstall

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

passwd dmdba

密码:11111111

chown dmdba:dinstall -R /opt/dmdbms

mount -o loop dm8_setup.iso /mnt

./DMInstall.sh -i

 

2、    初始化库

在两台上初始化库

./dminit path=/opt/dmdbms/data  PAGE_SIZE=16

 

 

在主机上启动一次。并备份到备机

./dmserver ../data/DAMENG/dm.ini

exit

./dmap

./dmrman ctlstmt="backup database '/opt/dmdbms/data/DAMENG/dm.ini' to backup_file_01 backupset '/opt/dmdbms/backup_file_01'"

 

3、拷贝到备机进行还原

scp -r /opt/dmdbms/backup_file_01/ 192.168.25.12:/opt/dmdbms

 

./dmrman ctlstmt="restore database '/opt/dmdbms/data/DAMENG/dm.ini' from backupset '/opt/dmdbms/backup_file_01'"

./dmrman ctlstmt="recover database '/opt/dmdbms/data/DAMENG/dm.ini' from backupset '/opt/dmdbms/backup_file_01'"

./dmrman ctlstmt="recover database '/opt/dmdbms/data/DAMENG/dm.ini' update db_magic"

 

4、配置主机,具体内容详细信息请参照操作帮助手册

vim dm.ini

vim dmmal.ini

vim dmarch.ini

vim dmwatcher.ini

 

修改主节点模式状态

./dmserver /opt/dmdbms/data/DAMENG/dm.ini mount

./disql sysdba/[email protected]: 5236

sp_set_para_value(1,'ALTER_MODE_STATUS',1);

sp_set_oguid(453331);

alter database primary;

 

5、配置备机,具体内容详细信息请参照操作帮助手册

vim dm.ini

vim dmmal.ini

vim dmarch.ini

vim dmwatcher.ini

 

修改备节点模式状态

./dmserver /opt/dmdbms/data/DAMENG/dm.ini mount

./disql sysdba/[email protected]:5236

sp_set_para_value(1,'ALTER_MODE_STATUS',1);

sp_set_oguid(453331);

alter database standby;

 

6、启动集群

 

以mount方式启动数据库实例

./dmserver /opt/dmdbms/data/DAMENG/dm.ini mount

启动数据守护

./dmwatcher /opt/dmdbms/data/DAMENG/dmwatcher.ini

启动监视器

./dmmonitor /opt/dmdbms/data/dmmonitor.ini

 

 

7、查看数据库状态

因数据库无法自动拉起,所以检查数据库状态及LSN

select status$ from v$instance;

select CUR_LSN from V$RLOG;