网络异常、主机异常等情况下强制切主容易发生集群分裂,如下图
本文分享如何处理集群分裂异常。
需要注意的是,本文通过重新初始化异常库的方式解决问题,是高危操作,仅供参考。
1.在正常的主库导出数据,把导出的文件拷贝到异常库
BACKUP DATABASE BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE_3';
2.停止异常库,停止watcher 和 server
/data01/dmdbms/bin/DmServiceDMSERVER stop
/data01/dmdbms/bin/DmWatcherServiceWatcher stop
3.异常库恢复数据
/data01/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/data01/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/data01/dm_bak/BACKUP_FILE_3'"
/data01/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/data01/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/data01/dm_bak/BACKUP_FILE_3'"
/data01/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/data01/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC"
4.删除 dmwatcher.ctl
cd /data01/dmdata/DAMENG
mv dmwatcher.ctl dmwatcher.ctl_bak
5.启动异常库
/data01/dmdbms/bin/DmServiceDMSERVER start
6.异常库执行SQL,让异常库处于standby 状态
ALTER DATABASE STANDBY;
7.异常库启动watcher
/data01/dmdbms/bin/DmServiceDMSERVER start
/data01/dmdbms/bin/DmWatcherServiceWatcher start
文章
阅读量
获赞