文档首页 > > 常见问题> 实时灾备> 实时灾备常见异常场景示例

实时灾备常见异常场景示例

分享
更新时间:2020/09/21 GMT+08:00

由于一些不可控原因,实时灾备在同时操作双边数据时,存在一定的数据不一致的可能性,本章节主要介绍常见的数据异常场景。以下场景均以dr1、dr2库进行示例。

场景一:双主灾备,双边同时操作同一行操作,导致多数据

  • 初始数据如下图所示(seqno为主键,column1为非主键)。
    图1 dr1、dr2库初始数据
  • 双方数据库同时分别执行如下操作:
    • dr1库:update dr1 set seqno=5 where column1=8;
    • dr2库:update dr2 set seqno=6 where column1=8;
  • 执行操作后,双方数据库数据一致,并且多数据。
    图2 dr1、dr2库数据

场景二:双主灾备,同时操作双边数据库,导致数据不一致

  • 初始数据如下图所示(seqno为主键,column1为非主键)。
    图3 初始数据
  • 双方数据库同时分别执行如下操作:
    • dr1库:insert into dr1 values(101,100);
    • dr2库:insert into dr2 values(101,102);
  • 执行操作后,双方数据库数据如下图所示。
    图4 dr1库数据
    图5 dr2库数据

场景三:双主灾备,业务期执行DDL操作,导致数据不一致

  • 双方数据库同时分别执行如下操作:
    • dr1库:truncate table dr1;
    • dr2库:insert into dr2 values(5,5,5);
  • 执行操作后,双方数据不一致,如下图所示。
    图6 dr1库数据
    图7 dr2库数据

    更多场景,持续补充中。

分享:

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问