增量备份修复物理备库gap
文档课题:增量备份修复物理备库gap,此为无新增数据文件的测试记录.
适用场景:
a、rac+dg
b、单实例+dg
主备不同步,主库归档日志已删除且无备份.
解决方案:主库增量备份修复dg备库中的gap.
具体步骤:
1、停止同步
备库停止实时应用.
> alter database recover managed standby database cancel;
2、最小scn
备库查询最小scn号.
> select to_char(current_scn) from v$database;
说明:
a、备库出现gap后,后续的归档日志不能在备库端应用,因此备库的当前scn停止在缺失的第一个归档时的起始scn.只要gap问题未解决,备库的当前scn一直卡在该值.
b、如果当前scn显示的是科学计数法格式,说明数值宽度不够.通过以下命令来设置.
> set numw 15
3、备份
在主库进行增量备份.
说明:6008152751355为第2部查询出来的最小scn.
$ rman target /
RMAN> backup as compressed backupset incremental from scn 6008152751355 database format '/home/oracle/fsbak/forstandby_%U' tag 'FORSTANDBY';
RMAN> backup current controlfile for standby format '/home/oracle/fsbak/forstandbyctl.bck';
说明:使用基于scn的增量备份.因为备库的当前scn卡在6008152751355处,所以主库的增量备份应该是从scn=6008152751355往后备份,一直备份完所有的数据文件块.这样备库缺少的gap事务就包含在备份集中,增量恢复到备库后缺失的gap对应的事务就被恢复到数据文件中.
注意:主库端要开启控制文件的自动备份,rman show all查看. (此注意在此次测试中并未执行)
4、传输备份集
将备份拷贝至备库.
$ scp /home/oracle/fsbak/* oracle@s192.168.133.120:/home/oracle/fsbak/
5、恢复控制文件
备库恢复控制文件.
RMAN> shutdown immediate;
RMAN> startup nomount;
RMAN> restore standby controlfile from '/home/oracle/fsbak/forstandbyctl.bck';
6、恢复数据文件
备库查看备份集信息,确认控制文件中记录的备份集路径和备库上的备份集的实际路径是否相同.如果不同删除控制文件中记录的备份集信息,重新注册备份集.
RMAN> alter database mount;
RMAN> crosscheck backup;
RMAN> crosscheck archivelog all;
RMAN> delete noprompt obsolete;
RMAN> delete noprompt expired backup;
RMAN> delete noprompt expired archivelog all;
RMAN> delete backup;
RMAN> list backup;
RMAN> catalog start with '/home/oracle/fsbak/';
RMAN> recover database noredo;
SQL> alter database open;
7、实时同步
备库开启实时同步.
SQL> alter database recover managed standby database using current logfile disconnect from session;
$ ps -ef | grep mrp
参考网址:
/news/upload/ueditor/image/202209/vubggo2e20u
版权声明
本文仅代表作者观点,不代表博信信息网立场。