HADR中数据丢失如何补偿?

HADR高可用方案中,如果发生Standby切换为Primary,而且数据是否确诊为存在丢失,如何补偿丢失的数据?最好是DB2数据库系统层面来补偿,而不是应用层面来补偿,有什么好的思路和建议?

参与12

1同行回答

leilinleilin  数据库管理员 , IBM
如果发生stadby切换成primary,要想判断是否存在数据丢失,可以考虑修复好旧的primary库后,看它是否能够重新reintegrate进来,和目前的新主库重新配对。如果配对成功,状态重新变成PEER,说明旧主库的log stream没有继续往前,也就说明交易没有丢失。但是这个判断方法有一定的前提条...显示全部

如果发生stadby切换成primary,要想判断是否存在数据丢失,可以考虑修复好旧的primary库后,看它是否能够重新reintegrate进来,和目前的新主库重新配对。如果配对成功,状态重新变成PEER,说明旧主库的log stream没有继续往前,也就说明交易没有丢失。但是这个判断方法有一定的前提条件:旧主库出现问题后,采用kill实例进程的方式,不能采用deactivate database的方式,后者会产生新的日志记录,旧主库log stream往前走,这种原因导致的旧主库无法reintegrate不能说明数据已经丢失。

为了避免数据丢失,建议采用SYNC或NEARSYNC同步模式,并且不要设置DB2_HADR_PEER_WAIT_LIMIT参数,加强HADR监控,避免备库坏掉后主库长时间单点运行等。

收起
IT其它 · 2017-11-29
浏览1389

提问者

topzgm
topzgm0112
软件架构设计师People's Bank of China
擅长领域: 数据库服务器存储

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-11-27
  • 关注会员:2 人
  • 问题浏览:3629
  • 最近回答:2017-11-29
  • X社区推广