DG归档日志缺失恢复

来源:这里教程网 时间:2026-03-03 16:16:40 作者:

    主数据库或者其他备库的归档日志还存在的恢复方式:归档直接恢复方式 1.1 copy 主库上的归档日志至备库,如果ASM磁盘先通过rman方式copy至文件系统 RMAN>copy archivelog '+data/orcl/ARCHIVELOG/2020_03_24/thread_1_seq_328729.4592.939510649' to'/home/oracle/archivelog/thread_1_seq_328729.4592.939510649';  1.2 备机注册archivelog到数据库control file中 RMAN> catalog start with '/home/oracle/archivelog';  1.3 启动备机执行recover,执行实时应用日志 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; 1.4 确认日志归档应用已启动,至此DG已恢复同步 select process,status,client_process,sequence#,block# from v$managed_standby;

    主数据库或者其他备库的归档日志已丢失的恢复方式:增量备份恢复方式

    1.备份备库spfile文件 SQL> create pfile='/home/ora/pfile_standby.ora' from spfile;

    2、查看当前备库scn SQL> select to_char(current_scn) from v$database; TO_CHAR(CURRENT_SCN) ---------------------------------------- 145215070

    3、查看缺失的archivelog SQL> select * from v$archive_gap; 4、在主库执增量备份

RMAN> run  {  allocate channel d1 type disk;  allocate channel d2 type disk; backup as compressed backupset incremental from SCN 145215070 database format '/home/oracle/full_db_%d_%T_%s.bak' include current controlfile for standby filesperset=5 tag 'FOR STANDBY'; release channel d1; release channel d2; }

        5、将备份传至备库         scp full_db_orcl_xxxx_*.bak 192.168.1.100:~/xxxx_recover/          6、注册备份文件,恢复备库

RMAN> catalog start with '/home/ora/20150523_recover';

RMAN> 

run { allocate channel d1 type disk; allocate channel d2 type disk; restore standby controlfile to '/home/oracle/control01.ctl'; recover database noredo; release channel d1; release channel d2;

}

        7、关闭备库,将恢复出来的control01.ctl覆盖备库控制文件         $ cp control01.ctl /oradata/orcl/standby.ctl         8、启动备库至mount状态         SQL> startup mount

        9、查看gap         SQL> select * from v$archive_gap;                  10、开启备库recover模式         SQL> alter database recover managed standby database disconnect from session;         Media recovery complete.

相关推荐