2.1.4 数据守护的主要功能
通过部署实时主备系统,可以及时检测并处理各种硬件故障、数据库实例异常,确保持续提供数据库服务。数据守护主要包括实时数据同步、主备库切换、自动故障处理、自动数据同步、备库接管和读写分离访问等功能。
1. 实时数据同步
主备库通过实时归档完成数据同步,实时归档要求主库将RLOG_BUF发送到备库后,再将RLOG_BUF写入本地联机REDO日志文件。但要注意的是,备库确认收到主库发送的REDO日志,并不能保证备库已经完成重演这些REDO日志,因此主备库之间的数据同步存在一定的时间差。
2. 主备库切换
主备库正常运行过程中,可以通过监视器的Switchover命令,一键完成主备库角色转换,确保在软硬件升级或系统维护时,提供不间断的数据库服务。
3. 自动故障处理
当备库发生故障时,不会影响主库正常提供数据库服务,守护进程自动通知主库修改实时归档状态为Invalid,实时备库失效,从而实现故障自动处理。
4. 自动数据同步
备库故障恢复后,守护进程自动通知主库发送归档REDO日志,重新进行主备库数据同步。另外,在历史数据同步后,修改主库的实时归档状态为Valid,恢复实时备库功能。备库接管后,原主库故障恢复,守护进程自动修改原主库的模式为Standby,并重新作为备库加入主备系统。
5. 备库接管
主库发生故障后,可以通过监视器的Takeover命令,将备库切换为主库,继续对外提供服务。如果配置为自动切换模式,则确认监视器可以自动检测主库故障,并通知备库接管,这个过程不需要人工干预。如果执行Takeover命令不成功,则主库可能由于硬件损坏等原因无法马上恢复。为了及时恢复数据库服务,达梦数据库提供了Takeover Force命令,可强制将备库切换为主库,但需要由用户确认主库发生故障前主库与接管备库的数据是一致的(主库到备库的归档状态是Valid),避免引发守护进程组分裂。
6. 读写分离访问
在备库查询的实时性要求不高的条件下,实时主备也可以配置接口的读写分离属性访问,实现读写分离功能特性。