11G
很多正在使用dataguard的客户,都会遇到一个棘手的问题: 在备份端与主库同步的过程中由于网络原因或磁盘问题导致一个或多个归档日志丢失,进而dataguard同步无法继续。很多客户都选择了重新全库恢复,并重新搭建dataguard。 如果我们的源数据库非常大(超过100G的数据量),其实可以选择一种更简便并高效的恢复方法–通过rman的增量备份恢复dataguard中standby端的数据。
具体恢复过程如下:
- 停止恢复进程
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
- 查询备库的SCN
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
---
3164433
SQL> select min(checkpoint_change#) from v$datafile_header
where file# not in (select file# from v$datafile where enabled = 'READ ONLY');
MIN(F.FHSCN)
----------------
3162298
comment:上面一个为控制文件中记录的SCN号,另一个为数据文件头记录的SCN号, 我们需要选择较小SCN号(3162298)的来备份。
3) 源库进行增量备份
RMAN> BACKUP INCREMENTAL FROM SCN 3162298 DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY';
- 传输
scp /tmp/ForStandby\_\* standby:/tmp
- 注册备份文件
RMAN> CATALOG START WITH '/tmp/ForStandby';
- 恢复备库
RMAN> RECOVER DATABASE NOREDO;
- 备份控制文件
RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT ‘/tmp/ForStandbyCTRL.bck’;
- 传输控制文件
scp /tmp/ForStandbyCTRL.bck standby:/tmp
- 记录备库数据文件信息
select file#, name from v$datafile order by file# ;
- 备库恢复控制文件
RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE STANDBY CONTROLFILE FROM ‘/tmp/ForStandbyCTRL.bck’;
- mount备库
RMAN> ALTER DATABASE MOUNT;
- 注册数据文件
RMAN> CATALOG START WITH ‘+DATA/mystd/datafile/’;
检查是否有新增数据文件
SQL>SELECT FILE#, NAME FROM V$DATAFILE WHERE CREATION_CHANGE# > 3162298
RMAN> SWITCH DATABASE TO COPY;
datafile 1 switched to datafile copy “+DATA/mystd/datafile/system.297.688213333”
datafile 2 switched to datafile copy “+DATA/mystd/datafile/undotbs1.268.688213335”
datafile 3 switched to datafile copy “+DATA/mystd/datafile/sysaux.267.688213333”
- flashback (可选)
SQL> ALTER DATABASE FLASHBACK OFF;
SQL> ALTER DATABASE FLASHBACK ON;
- 清除standby redo log
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
- MRP
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




