利用增量备份修复DG备库中的gap>>>>>>>>>>>无新增数据文件
现象描述
RAC+DG主备不同步,主库上归档日志已删除且没有备份。
解决方案
主库增量备份到备库镜像换原来,来修复DG备库中的gap。
具体操作步骤
1.关闭备库同步(一般情况来说,主备不同步,mrp进程肯定是挂掉了。这一步可以省略,以防万一还是执行一下)
SQL> alter database recover managed standby database cancel;
2.查询最小SCN号在备库,以最小的SCN号为主,在主库进行增量备份。
SQL> select to_char(current_scn) from v$database; SQL> select to_char(min(checkpoint_change#)) from v$datafile_header where file# not in (select file# from v$datafile where enabled = 'READ ONLY');
3.在主库进行增量备份
rman target / RMAN> backup incremental from scn 3162298 database format '/bak/backup/ForStandby_%U' tag 'FORSTANDBY'; RMAN> backup current controlfile for standby format '/bak/backup/ForStandbyCTRL.bck';
4.将备份拷贝至备库
scp /bak/backup/* oracle@standby:/rchldata2/backup/
5.用rman连接到备库,并恢复被用控制文件
RMAN> shutdown immediate; RMAN> startup nomount; RMAN> restore standby controlfile from '/rchldata2/backup/ForStandbyCTRL.bck'; RMAN> alter database mount; RMAN> catalog start with '/rchldata2/backup/'; RMAN> recover database noredo;
6.注意:如提示你必须先恢复某个数据文件。请在主库备份该数据文件并传输至备库。并用以下方法进行恢复。
备份
RMAN> backup datafile 174 format '/bak/backup/datafile_ForStandby_%U';
注册备份文件
RMAN> catalog start with '/rchldata2/backup/ts_zhcx_stzphj_10.dbf';
随后在rman中执行以下脚本,设置新的数据文件路径进行恢复,并将信息更细到控制文件
run { set newname datafile 174 to '/rchldata2/dbryhc/data/ts_zhcx_stzphj_10.dbf'; restore datafile 174; switch datafile all; }
最后再进行数据库恢复
RMAN> recover database noredo;
7.开始实时同步追归档
SQL> alter database recover managed standby database using current logfile disconnect from session;
资料来源MOS 文档
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?