HADR中导致数据丢失的主要因素有哪些?针对这些因素,我们如何规避和优化?
收起HADR导致数据丢失的风险因素包括但不限于如下:
1、HADR同步模式不是SYNC或NEARSYNC(理论上存在丢失数据的风险,实际生产中仅当主备库同时宕机且主库不可恢复,然后备库强制接管时发生),而是采用了ASYNC或SUPERASYNC模式,规避方法是建议采用前两种同步模式之一
2、考虑到备库不能阻塞主库交易,设置了DB2_HADR_PEER_WAIT_LIMIT环境变量,牺牲了部分HADR的数据保护作用,如果数据保护优先,建议去掉该参数
3、主库和备库HADR连接断开后,主库继续执行了部分交易,但是期间备库强制接管了主库,导致主库这些交易丢失,建议设置HADR_PEER_WINDOW参数,当HADR连接断开后让主库再继续等待HADR_PEER_WINDOW时间,期间不能做交易,备库在HADR_PEER_WINDOW窗口期间接管主库后,交易不丢失