HADR中hadr_syncmode=sync时,Primary与Standby的数据一致性问题?是否在这种情况下,数据就是强一致性的?

以下片段来此IBM Knowledge Center,URL地址为:https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_9.7.0/com.ibm.db2.luw.admin.ha.doc/doc/c0011724.html


SYNC(同步)
在四种方式中,此方式将最大可能地避免事务丢失,但使用此方式会导致事务响应时间最长。

在此方式中,仅当日志已写入主数据库上的日志文件,而且主数据库已接收到来自备用数据库的应答,确定日志也已写入备用数据库上的日志文件时,方才认为日志写入是成功的。保证日志数据同时存储在这两处。

如果备用数据库在重放日志记录之前崩溃,那么它下次启动时,可从其本地日志文件中检索和重放这些记录。如果主数据库发生故障,故障转移至备用数据库可以保证任何已在主数据库上落实的事务也在备用数据库上落实了。执行故障转移操作后,当客户机重新与新的主数据库连接时,可能会有在新的主数据库上已落实的事务,对于原始主数据库上的应用程序却从未报告为已落实。主数据库在处理来自备用数据库的应答消息之前出现故障时,即会出现此种情况。客户机应用程序应考虑查询数据库以确定是否存在此类事务。


当发生“执行故障转移操作后,当客户机重新与新的主数据库连接时,可能会有在新的主数据库上已落实的事务,对于原始主数据库上的应用程序却从未报告为已落实”情况时,Primary与Standby的数据应该是不一致了?数据强一致性遭到破坏了,其实也就是发生了数据丢失。如何定位和处理这种情况?有什么好的建议和做法?

参与9

1同行回答

libai21libai21课题专家组软件架构设计师海通证券
首先这属于小概率事件,对关键业务,如果这种错误发生会产生致命性的影响,就要应用自己来保证数据一致性,就是说,在数据库切换后,应用要进行自检查,看是否发生了这种情况。 如果应用没有能力做到,这种影响又是不能忽略的,那么只能放弃HADR的方案了。所有方案都不是完美的。...显示全部

首先这属于小概率事件,对关键业务,如果这种错误发生会产生致命性的影响,就要应用自己来保证数据一致性,就是说,在数据库切换后,应用要进行自检查,看是否发生了这种情况。
如果应用没有能力做到,这种影响又是不能忽略的,那么只能放弃HADR的方案了。所有方案都不是完美的。

收起
证券 · 2017-11-28
浏览1630

提问者

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

问题来自

相关问题

相关资料

相关文章

问题状态

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