1. 故障超时设置和处理
在配置阶段,管理员可以配置复制关系和复制节点的故障超时时间。复制运行时当复制关系出现异常或节点出现系统异常时,RPS会计算故障持续时间,在设置的超时时间以内,RPS都会尝试进行故障恢复;若发现故障时间超过了设置的超时时间,则会删除该复制关系或节点,当然,删除节点时,该节点涉及的所有复制关系都会被删除。
删除复制关系时,若复制关系的主服务器或从服务器是异常状态,该复制关系不会立刻被清除,它会处于删除状态,在仍正常运行的服务器上删除;等待异常的服务器恢复后,将其从该服务器的复制配置中删除后,RPS才会彻底的清理该复制关系;这也是复制关系状态中“待删除”、“已从主服务器上删除”和“已在从服务器上删除”状态的原因。
2. 复制关系异常修复
当RPS发现某复制关系异常时,RPS会通知该复制关系的主服务器,要求其重新建立彼此间的网络连接,修复复制关系。如果修复成功,重置RPS上复制关系的状态,并将复制关系的异常计时设为无效;若修复失败,则判断异常时间是否超时,若超时,则进入删除流程,否则等待到下一个监控修复时间进行恢复。修复成功后,如果是同步复制,则修复后立刻将异常期间的逻辑日志发送给从服务器,若是异步复制,则会等待定时器触发复制。
3. 复制节点网络故障恢复
RPS在每次探查阶段中探查节点之前都会检查与节点间的网络连接;发现某结点无法通讯,则会跳过本轮的故障恢复阶段,直到RPS能够与之建立连接。
在网络故障期间,管理员可以通过查询SYSREP.RPS_FAULT_HISTORY表中实例网络异常的记录,尽快修复网络异常。
4. 复制节点系统异常恢复
当RPS在探查阶段中认定发现某节点系统异常,则会将所有该节点涉及到的复制关系置为异常状态,记录在SYSREP.RPS_FAULT_HISTORY中,等待管理员恢复节点系统。
复制节点系统异常恢复的过程是执行故障超时处理和修复剩余的复制关系两者统一执行的过程。节点系统恢复后,RPS会根据故障期间故障处理的结果,删除因超时而被删除的复制关系;修复节点内剩余的所有复制关系。
5. 复制错误监控
在复制过程中,特别是在多对一或多对多的复制环境中,可能出现数据冲突。数据冲突发生后,从服务器会将其记录在相应的日志中,RPS每隔固定时间会轮询所有结点,收集其间产生的数据冲突记录并将其插入到SYSREP.RPS_CONFLICTS表中,管理员可以通过查询该表来查看。DM并没有特意设置对复制冲突记录的管理接口,管理员可以通过对SYSREP.RPS_CONFLICTS表的删除和查询来实现错误记录的管理。




