备库丢失一个归档日志,导致主备库不能同步,在主库做一个增量备份,恢复到备库

–主库上,查看已经应用在备库的最大LOG sequence# 号
select min(sequence#),max(sequence#) from v$archived_log where applied=‘YES’ and name =‘standby21’
MIN(SEQUENCE#) MAX(SEQUENCE#)
54397 67138

–主库上,查看顺序号对应的SCN是多少
SELECT SEQUENCE#,to_char(FIRST_CHANGE#)fc,to_char(NEXT_CHANGE#)nc FROM v$archived_log WHERE SEQUENCE# = 67138
AND NAME =‘standby21’ ORDER BY 1;

SEQUENCE# FC NC


67138 6071454081639 6071456004404

–在主库上,增量备份文件和控制文件,并把文件SCP到备库
backup device type disk incremental from scn 6071454081639 database format ‘/oradata/rman/test_db_incre.bbk’;
ALTER DATABASE CREATE standby controlfileAS ‘/oradata/rman/test_standby.ctl’;

scp test_* 文件到备库

2.在备库执行脚本,从snapshot转到physical standby:
shutdown abort
startup mount;
alter database convert to physical standby;
shutdown immediate
startup
alter database recover managed standby database using current logfile disconnect from session;

–备库开始恢复控制文件,启动到Mount状态,根据增量备份文件开始恢复数据库
shutdown immediate
startup nomount
restore controlfile from’/data/oracle/backup/restore/standby.ctl’;
alter database mount;

CATALOG BACKUPPIECE ‘/data/test_db_f4tvl4qk_1_1’,’/data/test_db_f5tvl828_1_1’,’/data/test_db_f6tvlbj9_1_1’;

–由于主备库的日志文件不一致,需要切换备库的数据文件到本地(我这里切换了121个文件)
catalog datafilecopy ‘/data/xxxxxx/xxxxx_.dbf’;

–查看是否切换过来了,并开始真正切换
list copy of database;
switch database to copy;

–使用增量备份开始恢复数据文件
RECOVER DATABASE NOREDO;
ALTER DATABASE recover managed standby DATABASE disconnect FROM SESSION;

–检查是否有gap
select * from v$archive_gap;
select max(sequence#) from v$archived_log;

–再查看下是否有未应用的NO的,没有NO的,正常如下:
select sequence# ,applied from v$archived_log where applied=‘NO’ and name=‘standby21’ order by sequence# ;

–切换备库到snapshot状态,等待凌晨跑脚本
alter database recover managed standby database cancel;
shutdown immediate
startup nomount;
alter database mount;
alter database convert to snapshot standby;
alter database open;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值