达梦主备集群原理概述和集群搭建关键步骤介绍
达梦主备集群顾名思义就是一主一备(也可以一主多备)是一种集成化的高可靠性解决方案,同时满足用户对数据安全性和高可用性的要求。解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,满足用户不间断提供数据库服务的要求,即实现系统的双机热备功能。在使用的过程中,如果是实时同步模式的话,主机和备机的数据保持完全一致。主机产生一条新的记录时,在记录写入数据库文件之前,会把新产生的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;