HADR中数据丢失如何补偿?

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

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

收起
参与12

返回leilin的回答

leilinleilin  数据库管理员 , IBM

如果发生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
浏览1388

回答者

leilin
数据库管理员IBM

leilin 最近回答过的问题

回答状态

  • 发布时间:2017-11-29
  • 关注会员:2 人
  • 回答浏览:1388
  • X社区推广