首页 > 解决方案 > 使用正确的数据库化身在备用数据库上进行 Oracle 11g 介质恢复

问题描述

我在这个网站和其他地方进行了广泛的搜索,但我承认我在这里找不到问题。抱歉,如果我没有提供足够的信息开始。

我有一个主要和备用 Oracle 11G ( 11.2.0.1.0 )。这些与归档日志传送保持同步。列出的数据库有 3 个化身,1 个父代、1 个孤儿和 1 个当前。主数据库和备用数据库上的“列表化身”的输出是相同的。

RMAN> list incarnation;

using target database control file instead of recovery catalog

List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       CFM      884892600        PARENT  1          22-08-2013 15:51:20
2       2       CFM      884892600        ORPHAN  7742020325747 05-12-2015 11:42:10
3       3       CFM      884892600        CURRENT 7742312911940 05-02-2016 13:23:19

SQL> select INCARNATION#, to_char(RESETLOGS_CHANGE#) , RESETLOGS_TIME, to_char(PRIOR_RESETLOGS_CHANGE#),PRIOR_RESETLOGS_TIME,STATUS,  RESETLOGS_ID, PRIOR_INCARNATION#, FLASHBACK_DATABASE_ALLOWED from V$DATABASE_INCARNATION;

INCARNATION# TO_CHAR(RESETLOGS_CHANGE#)               RESETLOGS TO_CHAR(PRIOR_RESETLOGS_CHANGE#)         PRIOR_RES STATUS  RESETLOGS_ID PRIOR_INCARNATION# FLASHBACK_DATABASE_ALLOWED
------------ ---------------------------------------- --------- ---------------------------------------- --------- ------- ------------ ------------------ --------------------------
           1 1                                        22-AUG-13 0                                                  PARENT     824140280                  0 NO
           2 7742020325747                            05-DEC-15 7742018224798                            27-NOV-15 ORPHAN     897651730                  0 NO
           3 7742312911940                            05-FEB-16 1                                        22-AUG-13 CURRENT    903014599                  1 NO

我在主服务器上重新创建了备用控制文件

SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u02/backup/stndby_ctrl.ctl';

并在备用服务器上复制和恢复它。

in RMAN:
 restore standby controlfile from '/u02/backup/stndby_ctrl.ctl';
 restore database;

然后我恢复了数据库,但是一旦我开始媒体恢复,

SQL> alter database recover managed standby database disconnect from session;

然后它会在 alerts.log 中返回一条旧的化身消息。

Media Recovery start incarnation depth : 1, target inc# : 3, irscn : 7742312911939
Waiting for all non-current ORLs to be archived...
All non-current ORLs have been archived.
Clearing online redo logfile 1 /u02/oradata/CFM/cfm_redo_g1_01.log
Clearing online log 1 of thread 1 sequence number 304529
Errors in file /u00/app/oracle/diag/rdbms/cfmstdby/CFM/trace/CFM_mrp0_638.trc:
ORA-19527: physical standby redo log must be renamed
ORA-00312: online log 1 thread 1: '/u02/oradata/CFM/cfm_redo_g1_01.log'
Clearing online redo logfile 1 complete
Media Recovery Waiting for thread 1 sequence 1 branch(resetlogs_id) 824140280

标签: oracle11gdataguard

解决方案


推荐阅读