如何在 YashanDB 备机上安全进行备份与恢复操作
问题背景
在主备部署架构下,主节点通常承担主要业务操作。为了不干扰生产,企业希望在备节点上进行备份及数据恢复操作。但这可能引发数据不一致及“脑裂”等问题。
风险说明
① 如果备机恢复后未降为备库,将自动变成主库,导致两个主节点共存。
② 恢复的数据只能回到备份时的状态,与主库现有数据存在差异。
操作重现与说明
① 正常主备状态:一主一备,数据同步中。

② 模拟主机插入数据,执行大批量数据写入(例如 2000 万条):
复制代码
③ 备机开始备份并执行恢复操作。恢复后发现备机晋升为 primary,产生异常。

④ 主备数据状态对比:通过比较 tmp5 表的 SCN、ASN、flush_point 等信息,可确认主机与备机数据存在错位,说明恢复引起数据不一致。

解决方案
为了避免脑裂与数据不一致,恢复完成后应立即将备机转回物理备库,并同步数据:
将备机降为备库:
复制代码
主库执行修复同步:
复制代码
执行完毕后,主备恢复正常同步状态。


评论