达梦数据库——备机恢复
ip | 数据库软件安装目录 | 实例目录 | |
主机 | 192.168.150.130 | /home/dmdba/dmdbms | /data/DAMENG |
备机 | 192.168.150.130 | /home/dmdba/dmdbms | /data/DAMENG |
背景:当集群分裂或者归档不连续时,需要通过备份恢复使节点重新加入集群
步骤:
1.停止数据库集群服务(包括数据库守护守护进程和数据库进程);
进入数据库安装bin目录:
停止数据库守护进程
停止数据库进程
2.重新初始化备库实例:
将之前的数据库目录备份后,重新初始化一个与之相同的新库。
进入数据库安装bin目录:
./dminit 重新初始化一个新库
注意:相关参数要和主库保持一致。
由于新初始化的库,首次启动不允许使Mount方式,所以需要先正常启动并正常退出一次
DM8需要备份还原的方式进行主备恢复
DM7可以直接拷贝主机的DAMENG文件夹到备机,替换原备机的参数文件即可。
3.主节点备份数据库
联机备份:
backup database backupset '路径/备份集';
脱机备份:
./dmrman CTLSTMT="BACKUP DATABASE '/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/data/BACKUP_FILE_01'"
将备份文件发送到备机节点服务器
scp -r BACKUP_FILE_01 192.168.150.131:/data/
4.备机进行恢复(数据库服务是停止的)
进入数据库安装bin目录,进行脱机数据库还原
./dmrman CTLSTMT="RESTORE DATABASE '/data/DAMENG/dm.ini' FROM BACKUPSET '/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/data/DAMENG/dm.ini' FROM BACKUPSET '/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/data/DAMENG/dm.ini' update db_magic"
5.从之前备份的数据库中,将相关的参数文件拷贝进来。
包括dm.ini,dmarch.ini,dmmal.ini,dmwatcher.ini四个参数文件。
6.备机修改数据状态和OGUID值
a)前台方式将数据库启动到mount状态,(或者注册服务时以mount启动,直接启动服务)
./dmserver /备机/dm.ini mount
Mount注册服务:
./dm_service_installer.sh -t dmserver -p DM01 -dm_ini /data/DAMENG/dm.ini -m mount
b) 登录数据库修改状态。
sp_set_para_value(1,'ALTER_MODE_STATUS',1);
alter database standby;
sp_set_oguid(453331);
sp_set_para_value(1,'ALTER_MODE_STATUS',0);
其中OGUID可参考配置文件dmwatcher.ini中INST_OGUID守护系统唯一OGUID的值。
- 启动数据守护服务,通过监视器观察集群状态,
若是前台启动的备机,可以确定集群状态正常后,退出前台服务,改为后台启动。
集群正常: