增量备份修复物理备库gap

适用场景:主备不同步,主库归档日志已删除且无备份.

解决方案:主库增量备份修复dg备库中的gap.

具体步骤:

1、停止同步

> alter database recover managed standby database cancel;

2、最小scn

备库查询最小scn号.

> select to_char(current_scn) from v$database;

3、备份
 

在主库进行增量备份.

说明:3162298为第2部查询出来的最小scn.

$ rman target /RMAN> backup as compressed backupset incremental from scn3162298database format '
/home/oracle/fsbak/forstandby_%U' tag 'FORSTANDBY';
RMAN> backup current controlfile for standby format '
/home/oracle/fsbak/forstandbyctl.bck';
说明:使用基于scn的增量备份.因为备库的当前scn卡在3162298处,所以主库的增量备份应该是从scn=3162298往后备份,一直备份完所有的数据文件块.这样备库缺少的gap事务就包含在备份集中,增量恢复到备库后缺失的gap对应的事务就被恢复到数据文件中.

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 | grepmrp

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值