Oracle dataguard 备库归档日志不全.怎么恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle dataguard 备库归档日志不全.怎么恢复相关的知识,希望对你有一定的参考价值。

参考技术A 没法恢复,如果有缺失的归档日志,只能重构保证主备完全同步。 参考技术B 如果主库归档全,可以把主库拷贝到备库进行恢复;
如果主备库都不全,只能基于取消进行恢复,会丢失一部分数据;本回答被提问者和网友采纳

Oracle 11g Dataguard 暂停物理备库的日志传输

Oracle 11g Dataguard 暂停物理备库的日志传输
分类: Oracle2017-07-18 10:03:17
这两天生产端的日志产生过多导致灾备端的归档日志目录满的现象,在清除灾备端的日志后发现log_archive_dest_2处于error状态,需要将其enable。在实际生产系统中,通常有这样的场景,例如在系统维护日,对主库进行大量的业务更新,会有大量的DML操作;为了避免主库中的业务更新对备库造成影响,可以暂停主库对备库的日志传输,这样的话,如果主库的更新出现问题,备库还保留一份完整的数据镜像,可以执行 failover(失败切换)。

1、在主库上面查看备份的归档路径

SQL> show parameter log_archive_dest_2

NAME TYPE VALUE


log_archive_dest_2 string SERVICE=flame ASYNC VALID_FOR=
(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=flame

SQL> show parameter log_archive_dest_state_2

NAME TYPE VALUE


log_archive_dest_state_2 string ENABLE

2、通过设置 defer 参数来暂停主库对备库的日志传输

SQL> alter system set log_archive_dest_state_2 = ‘defer‘;

System altered.

执行归档日志切换

SQL> alter system switch logfile;

System altered.

3、恢复主库到备份的日志传输,暂停日志传输后的归档日志会全部传输到备库,不会导致备库的归档日志 gap

SQL> alter system set log_archive_dest_state_2 = ‘enable‘;
System altered.

以上是关于Oracle dataguard 备库归档日志不全.怎么恢复的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Dataguard中备库中归档日志不同步

请教一个DATAGUARD备库归档日志清理的问题

Oracle 11.2.0.4.0 Dataguard部署和日常维护 - Dataguard Flashback

Oracle 11g Dataguard 暂停物理备库的日志传输

Oracle Dataguard报错:ARC1: Becoming the ‘no FAL‘ ARC

DataGuard主备归档存在gap的处理办法