增量备份修复物理备库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
相关文章
- 让主流平台CINEBENCH分数也能破万!锐龙9 3950X 16核心平台实战体验
- 111个提单及运输业务中常用的一些代码、术语及意义
- NOIP2018成绩查询,申诉,分数线等时间表!(附复赛题目解析)
- 吐糟joomla sobipro组件(joomla可视化大屏模板)
- 小苯的文章浏览【Python实现和C++】
- 详解C++模拟算法,蓝桥杯真题(蓝桥杯c++编译环境)
- CSP-NOIP信息学竞赛(28)cin(noip信息学奥林匹克竞赛)
- C++实现进程间通讯实例详解(c++进程间通信 共享内存)
- C/C++编程笔记:getline()函数和字符数组
- shell 脚本中日期运算(shell脚本 日期变量)