dataguard容灾归档缺失恢复(pr归档还在)

场景1:

使用rman备份恢复的方式创建dataguard,归档的自动备份任务被注释(即使不被注释,pr归档备份后由于log_archive_dest_2非空,无法自动删除),由于备份恢复或者传输备份的时间过久,导致pr的归档目录积压,为了不影响pr业务,需要清理pr归档(log_archive_dest_2置空再跑归档备份)

场景2:

由于dr归档目录设置不合理或者没有部署dr的归档删除脚本,或者dr同步异常停止,或者其他测试要求需要临时停止dr的同步,导致pr这边归档积压(与dr相差50个归档以上),且两战点的同步链路与业务使用同一网络,恢复dr同步之前,需要将pr的归档备份,然后限制scp传输速率将归档备份集传到dr恢复

解决方法:

针对场景1和2,我们的处理方式相似

(1)查询当前dr的同步进度(场景1忽略此步骤)

pr端查询两个站点的归档gap:

select a.thread#,(log_archived - log_applied) log_gap from (select max(sequence#) log_archived,thread# from gv$archived_log where dest_id = 1 and archived = 'YES' group by thread#) a ,(select max(sequence#) log_applied,thread# from gv$archived_log where dest_id = 2 and APPLIED = 'YES' group by thread#) b where a.thread#=b.thread#;

如果log_gap相差>50的话,要进行pr的归档备份,否则直接处理好dr然后开启MRP同步进程即可

(2)将pr的log_archive_dest_2置空(场景2可根据情况忽略此步骤)

如果场景2,pr的归档目录没有爆满,可以忽略此步骤,否则也需要将pr的log_archive_dest_2置空。置空的目的是备份归档后能自动删除归档,若非空,归档备份不能被自动删除

alter system set log_archive_dest_2='' scope=both;

(3)手动跑一下pr的归档备份脚本

脚本一般是rmanlog.sh,root执行

su - oracle -c "/rmancc/shell/rmanlog.sh" 1>> /rmancc/shell/rmanlog.log 2>>/rmancc/shell/rmanlog.err

(4)检查归档是否被成功备份和删除(场景2可根据情况忽略此步骤)

(5)恢复log_archive_dest_2(场景2可根据情况忽略此步骤)

恢复原来 log_archive_dest_2配置,如

alter system set log_archive_dest_2='SERVICE=dr_cc LGWR ASYNC valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=dr_cc' scope=both;

(6)将归档备份集传输到dr

传输的过程中可以控制scp速率

scp -l 500000 *log* dr_ip:/rmancc/ccbak

(7)将备份集恢复到dr

catalog start with '/rmancc/ccbak';

看看当前dr归档路径的最大的sequence值

如图,已经传到339576,然后此值之后的sequence都需要恢复,执行

restore archivelog from logseq 339576;

保证最后dr的归档路径归档sequence没有缺失和断层,然后开启dr的MRP进程即可

alter database recover managed standby database disconnect from session;

总结:

针对pr端归档不缺的情形,我们可以采用此种方式恢复dr,但是如果pr的归档缺失了,就无法通过此种方式恢复dr,需要参考另一种方式:

基于scn恢复dataguard_Joyce.Du的博客-CSDN博客_dataguard 数据文件recover

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值