我正在编辑我之前的问题以更精确,因为我仍然无法获得日志传送恢复作业背后的逻辑。
可能有一些我想解释的事情,但我会尽力而为。
我们每天晚上 10:00 在辅助设备上运行一次夜间日志传送恢复作业。当它开始恢复时,它会从上次运行时完成的位置选择日志备份。我了解每个Kins 链接如何完成日志恢复,但我看到 LS 恢复将尝试尽可能接近当前运行时间并完成。但那个时间有时会相差 30 分钟、20 分钟甚至一个小时。
目前还不清楚 ls restore 如何检查这是它完成的最佳时间。这是为了让用户知道数据通过 LS 作业恢复到一天中的什么时间,以便他们可以相应地从 Standby 数据库查询和获取数据:
上一个问题被标记为重复 @日志传送恢复的工作原理
例如:我看到的是 LS 恢复在凌晨 3:30 完成。对于恢复的日志备份,我看到仅恢复了凌晨 2:45 到达的文件,但没有恢复凌晨 3 点和凌晨 3:15 的文件。所以只是想如果这 2 个文件被复制,为什么 LS 恢复忽略它们并完成。LS 备份和 LS 复制每 15 分钟发生一次,而在晚上 10 点恢复一次。所以我需要了解 LS 恢复如何决定它完成的基础是什么?
我会尝试利用内置存储过程来调查并希望更正此问题。
例如,尝试在主数据库中的辅助服务器上运行此命令:
这将返回一个结果集,其中包含您可能感兴趣的名为“restore_all”的列。如果为 0,则当恢复作业运行时,它将在仅恢复 1 个事务日志文件后停止。否则,它将尽可能多地应用。
如果您的情况配置不正确,您可以这样更改它:
希望这能帮助您解决问题或至少帮助您寻找根本原因。