下午好!
我做了一些关于修复主数据库和备用数据库之间的存档日志差距的研究,一些链接提供了查询 V$archived_log、v$archive_gap 和 v$log_history 的提示。它们确实是很好的信息来源,但是,我有一个场景,由于存储限制,两台服务器都需要保留归档日志,所以备用数据库比方说,具有从 D 到 P,从 P 到 R 的归档日志序列,即今天的 R .
如果发生故障时需要暂时将备用数据库作为生产数据库,除了丢失数据外,还有什么影响?它会起作用,还是最好的做法是重新创建 stdb 数据库并从现在开始只应用连续存档?
谢谢。
假设您的意思是数据库“缺少”来自 P->R 的日志,并且您的主数据库也不再有这些日志,那么答案是您将拥有一个功能数据库(在备用数据库激活时作为主数据库)但是您将丢失 P-> 激活点的数据。
这里要记住的是,您的备用数据库仅与上次完全应用的归档日志一样好。如果没有您的干预,您的备用数据库基本上会及时冻结,并且永远不会前进。
如果您丢失了存档日志,并且它们确实无法恢复(您是否检查了存储备份?备份到磁带?),那么您的备用数据库,IMO,作为生产级备用数据库毫无价值。根据您对相关数据库的使用情况,您和您的企业可能会有不同的看法。
但如果这真的是一个生产级别的备用数据库,打算在灾难场景中接管生产,就我个人而言,我会立即重建备用数据库。
如果您发现备用数据库存在间隙,则归档日志将被删除。您可以尝试使用增量备份来解决差距。与从头开始创建备用数据库相比,花费的时间和麻烦更少(尤其是在数据库较大的情况下)。
使用增量 RMAN BAckup 解决 Data Guard 应用中的差距