故障节点恢复正常后,DMCSS 会启动节点重加入处理流程,将故障节点重新加入到 DMDSC 集群中。默认情况下,DMCSS 自动监控并处理节点重加入,不需要用户干预;我们也可以通过 DMCSSM 关闭自动监控功能,改成手动处理节点重加入(参考 15.1 DMCSSM 监视器)。
DMDSC 集群节点重加入操作会将 DMDSC 集群挂起一段时间,重加入过程中会中断正在执行的操作,暂停响应用户的数据库请求。但是,重加入操作不会终止这些活动事务,在重加入操作完成后,可以继续执行。
DMDSC 节点重加入的基本步骤包括:
- 根据各节点的 Buffer 使用情况,重构所有节点的 GBS、LBS 系统。
- 根据各节点的活动事务信息,重构全局的 GTV 系统、以及所有节点的本地 LTV 系统。
- 根据各节点的活动事务的封锁(LOCK)信息,重构全局的 GLS 系统、以及所有节点的本地 LLS 系统。
在节点重加入期间,不能处理新的节点故障,如果有新的节点故障会主动中止所有节点。
如果是 0 号节点重加入,会自动将 0 号节点恢复为控制节点。
注意存在预提交状态事务的节点发生故障后,控制节点会将此故障节点事务信息收集到本地,重加入前必须在控制节点将这些事务回滚或提交。
DMDSC节点重加入时,集群内所有活动节点均不能处于MOUNT状态,否则节点重加入失败。