近日某现场adg出现gap,重启mrp进程后竟然无法起来,ora-16191报错后mos要求重建备库,这不是飞来横祸吗,仔细一想,数据文件没问题,那么是不是重新同步一份控制文件来就可以,ok。开始尝试恢复
以下是报错日志:
MRP0: Background Media Recovery terminated with error 16157
Errors in file /u01/app/oracle/diag/rdbms/lcdg/lcdg/trace/lcdg_pr00_5653.trc:
ORA-16157: media recovery not allowed following successful FINISH recovery
Managed Standby Recovery not using Real Time Apply
Wed Nov 17 12:39:33 2021
Errors in file /u01/app/oracle/diag/rdbms/lcdg/lcdgg/trace/lcdg_ora_5770.trc:
主库备份一份控制文件
BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT ‘/data/ForStandby_%d_CTRL_20211117.bck’;
备库停库后备份控制文件开始恢复
RESTORE STANDBY CONTROLFILE FROM ‘/data/ForStandby_lc_CTRL_20211117.bck’;
恢复后启动mrp进程alert一堆报错
Errors in file /u01/app/oracle/diag/rdbms/lcdg/lcdg/trace/lcdg_dbw0_4357.trc:
ORA-01157: cannot identify/lock data file 704 - see DBWR trace file
ORA-01110: data file 704: '+DATA_DM03/lc/datafile/undotbs1.3663.1054563627'
ORA-17503: ksfdopn:2 Failed to open file +DATA_DM03/lc/datafile/undotbs1.3663.1054563627
ORA-15012: ASM file '+DATA_DM03/lc/datafile/undotbs1.3663.1054563627' does not exist
Errors in file /u01/app/oracle/diag/rdbms/lcdg/lcdg/trace/lcdg_dbw0_4357.trc:
ORA-01157: cannot identify/lock data file 705 - see DBWR trace file
ORA-01110: data file 705: '+DATA_DM03/lc/datafile/undotbs1.3074.1054563637'
ORA-17503: ksfdopn:2 Failed to open file +DATA_DM03/lc/datafile/undotbs1.3074.1054563637
ORA-15012: ASM file '+DATA_DM03/lc/datafile/undotbs1.3074.1054563637' does not exist
Warning: Recovery target destination is in a sibling branch
of the controlfile checkpoint. Recovery will only recover
看着报错眉头紧锁,查一下数据文件scn长叹一口气,有一部分数据文件scn不对。
SQL> select status,checkpoint_change#,checkpoint_time,resetlogs_change#,resetlogs_time,count(*),fuzzy from v$datafile_header group by
status,checkpoint_change#,checkpoint_time,resetlogs_change#,resetlogs_time,fuzzy; 2
STATUS CHECKPOINT_CHANGE# CHECKPOINT_TIME RESETLOGS_CHANGE# RESETLOGS_TIME COUNT(*) FUZZY
--------------------- ------------------ ------------------ ----------------- ------------------ ---------- ---------
ONLINE 0 0 101
ONLINE 13699104779321 17-NOV-21 1.3698E+13 17-NOV-21 504 NO
…
这里思考片刻…
…
检查报错的数据文件路径
ORA-01110: data file 705: ‘+DATA_DM03/lc/datafile/undotbs1.3074.1054563637’
果然。。
dg源库和备库数据文件位置不一样,omf自动创建的数据文件在+DATA_DM03/lcdg/datafile下
接下来需要set newname
set pagesize 2000;
set line 200;
set heading off;
set echo off;
set feedback off;
spool setnewname.cmd
define tdg='+DATA_DM03/lcdg/datafile';
select 'set newname for datafile '||FILE#||' to '||chr(39)||'&tdg'||substr(d.name,instr(d.name,'/',2))||chr(39)||';' from v$datafile D
where file# =590;
spool off;
然后不可以直接switch datafile 1;
switch datafile 1 to copy;
全部完成之后数据文件路径全部正常,scn均不为0
开启mrp
alter database recover managed standby database parallel 10 disconnect from session;
最后修改时间:2021-11-22 15:24:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




