当dg库rfs进程出现异常,并且dg库需要的归档日志已经在主库删除,如果这个实例的数据不大,那么直接duplicate重做dg即可,如果这个实例数据特别大,那么重做的话可能对主库有影响并且时间比较长,此时如果dg库有查询业务,那么就得需要尽快恢复,所以借助rman结合scn号增量备份和恢复的方式来修复dg库是一个不错的选择。
具体流程如下所示:
一、查看dg库mrp和rfs进程状态
SQL> select process,status,thread#,sequence#,client_pid from v$managed_standby;
二、备库查看gap归档缺失日志序列号
SQL> select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE# CON_ID
1 31059 31098 1 2 29227 29264 1
三、查看备库SCN,取最小值
col datafile_scn for 999999999999999
col DATAFILE_HEADER_SCN for 999999999999999
col current_scn for 999999999999999
col next_change# for 999999999999999
select ( select min(d.checkpoint_change#) fromv$datafile d ) datafile_scn ,
( select min(d.checkpoint_change#) fromv$datafile_header d where rownum=1) datafile_header_scn,
(select current_scn from v$database) current_scn,
(select next_change# from v$archived_log where sequence#=148164and resetlogs_change# = (select d.resetlogs_change# from v$database d ) andrownum=1 ) next_change# from dual;
DATAFILE_SCN DATAFILE_HEADER_SCN CURRENT_SCN NEXT_CHANGE#
-----------------------------------------------------------
70411298484 70411306669 70411306668
SQL> SELECT TO_CHAR(CURRENT_SCN) FROM V$DATABASE;
TO_CHAR(CURRENT_SCN)
70411306668
SQL> SELECT DISTINCT to_char(CHECKPOINT_CHANGE#)FROM V$DATAFILE_HEADER;
TO_CHAR(CHECKPOINT_CHANGE#)
70411306669
四、主库备份出scn之后需要追加的增量数据和控制文件
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup as compressed backupset incremental from SCN70411298484 database format '/data/rmanbak/datafile0_%d_%T_%s_%p.BKP' tag 'FORSTANDBY';
backup current controlfile for standby format '/data/rmanbak/controlfile0_%d_%T_%s_%p.BKP';
release channel c1;
release channel c2;
release channel c3;
}
五、将文件传输到待恢复的备库
[oracle@rac01.hkrt.cn:/data/rmanbak]$scp -P22datafile0_SAAS_20240123_2573* 10.192.181.20:/home/oracle/rmanbak/
六、备库重启到nomount状态恢复控制文件
注意一:恢复出来的控制文件记录的数据文件的目录是根据你dg库参数db_file_name_convert转换后的目录。这个控制文件会一直根据你的这个参数变化而变化!所以如果你想修改db_file_name_convert参数,就需要注意了!
注意二:如果你dg库配置了db_create_file_dest参数,那么db_create_file_dest这个参数优先级高于db_file_name_convert,并且db_create_file_dest参数自动创建的文件名字给主库的名字还不一样,这个时候就需要你根据文件的序列号(select FILE#,name from v$datafile;) 再在dg库rename下文件名字;
RMAN> restore standby controlfile from'/home/oracle/rmanbak/controlfile0_SAAS_20240123_25738_1.BKP';
七、启动dg库到mount状态
SQL> alter database mount;
八、需要确认此时控制文件中记录的数据文件的目录是不是和dg库真实的路径一致:
restore standby controlfile的时候,会读取db_file_name_convert这个参数的配置来自动映射成dg转换后的路径,但是如果你dg库修改过db_file_name_convert这个参数,那就得特殊处理下!
alter database rename file '/opt/app/oracle/oradata/cux_ep02.dbf' to '/opt/app/oracle/archivelog/PSRACDBG/datafile/PSRACDBG/datafile/o1_mf_cux_ep_lx2xxbfy_.dbf';
八、增量恢复dg库
1)告诉控制文件去那个路径去找备份文件
rman target /
catalog start with '/data/backup/ncbackup/'
2)执行恢复操作
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
recover database noredo;
release channel c1;
release channel c2;
release channel c3;
}
九、启动dg库mrp进程
SQL> alter database recover managed standbydatabase disconnect from session;
Database altered.
十、关闭dg库mrp进程
SQL> alter database recover managed standbydatabase cancel;
Database altered.
十一、启动dg库到read only open状态
SQL> alter database open read only;
Database altered.
十二、启动mrp即可
SQL> alter database recover managed standbydatabase disconnect from session using current logfile;
编辑推荐:
- dg库增量修复笔记03-03
- Oracle 统一审计- Best 实践三03-03
- Oracle 新特征-Read-Only Per-PDB Standby03-03
- Oracle 数据库 [INS-30060]check for group existence failed. 报错解决03-03
- 主键的创建、添加、删除操作03-03
- 一次物化视图刷新问题排查03-03
- 外键创建和管理03-03
- asm内存不足导致归档报错03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 新特征-Read-Only Per-PDB Standby
Oracle 新特征-Read-Only Per-PDB Standby
26-03-03 - Oracle 数据库 [INS-30060]check for group existence failed. 报错解决
- 一次物化视图刷新问题排查
一次物化视图刷新问题排查
26-03-03 - asm内存不足导致归档报错
asm内存不足导致归档报错
26-03-03 - 记一次oracle rac 一个节点load averge高导致的问题
记一次oracle rac 一个节点load averge高导致的问题
26-03-03 - OGG trail文件损坏处理办法(OGG-01028)
OGG trail文件损坏处理办法(OGG-01028)
26-03-03 - 钉钉“牵手”微信,互联网“拆墙”大步迈进
钉钉“牵手”微信,互联网“拆墙”大步迈进
26-03-03 - Oracle 客户端和服务器时间不一致-小忆
Oracle 客户端和服务器时间不一致-小忆
26-03-03 - bond私网主备切换导致RAC集群自动重启
bond私网主备切换导致RAC集群自动重启
26-03-03 - 数据库管理-第165期 数据库高可用漫谈(20240327)
数据库管理-第165期 数据库高可用漫谈(20240327)
26-03-03
