为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
主库在REDO日志(RLOG_BUF)写入联机REDO日志文件前,将REDO日志发送到配置为Standby模式的备库;备库收到REDO日志(RLOG_BUF)后放入KEEP_BUF,并在原有KEEP_BUF的内容中加入日志重演任务系统后,马上响应主库,而不是等待REDO日志重演结束再响应主库;主库收到响应消息,确认备库已经收到REDO日志,再将REDO日志写入联机REDO日志文件中。
我的理解是达梦备库重演机制依赖的是RLOG_BUF而不是像oracle dg那样去重演主库发过来的归档日志吧。如果备库关闭了比如几个小时,此时主库一直有事务进行,RLOG_BUF应该不会一直不进行刷盘动作,那么备库启动后应用的是什么,是归档文件吗

是的,故障恢复应用的是归档文件。这时候在主库的记录中备库的归档是invalid状态,需要主库数据守护进程判断此备库是否可以进入故障恢复加入,如满足条件则进入以下恢复流程::
只有集群是正常实时同步状态,即主库记录的备库归档是valid状态下,备库才是直接把rlog_pkg替换在keep_rlog_pkg中等待下一个或者主库通知后进行重演,且异步把rlog_pkg写入归档文件中直接记录保存。