oracle dg 还原数据,Oracle DG恢复备库出现ORA-19909

**环境描述:**

DG环境强制read write打开备库为主库,想要从主库重新拷贝控制文件给备库,进而再将其恢复为备库状态。

**操作流程:**

```

1.从主库拷贝了一份控制文件

alter database create standby controlfile as '/home/oracle/standby.ctl';

2.关闭read write打开的备库,重新恢复控制文件,

3.进行数据文件重命名

4.此时后台警告日志是可以正常接收从主库传输过来的日志的

5.当我启动MRP进程进行日志应用时,前台无异常报错,后台警告日志中MRP异常关闭情况。

```

**摘取部分警告日志:**

ORA-19909: datafile 1 belongs to an orphan incarnation

ORA-01110: data file 1: '/oracle/app/oradata/prod/system01.dbf'

```

alter database recover managed standby database disconnect from session

Attempt to start background Managed Standby Recovery process (prod)

Thu Aug 20 18:51:38 2020

MRP0 started with pid=26, OS id=3446

MRP0: Background Managed Standby Recovery process started (prod)

started logmerger process

Thu Aug 20 18:51:43 2020

Managed Standby Recovery not using Real Time Apply

MRP0: Detected orphaned datafiles!

Recovery will possibly be retried after flashback...

Errors in file /oracle/app/diag/rdbms/prod/prod/trace/prod_pr00_3448.trc:

ORA-19909: datafile 1 belongs to an orphan incarnation

ORA-01110: data file 1: '/oracle/app/oradata/prod/system01.dbf'

Recovery Slave PR00 previously exited with exception 19909

Completed: alter database recover managed standby database disconnect from session

Thu Aug 20 18:52:03 2020

MRP0: Background Media Recovery process shutdown (prod)

```

**进入RMAN查看了数据库当前化身信息:**

```

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 PROD 457994418 PARENT 1 24-AUG-13

2 2 PROD 457994418 CURRENT 925702 19-JUL-20

```

**查看数据文件头记录的resetogs信息.//可以看出明显与控制文件中SCN不一致**

```

SQL> select file#, status, checkpoint_change#, checkpoint_time, resetlogs_change#, resetlogs_time, fuzzy from v$datafile_header;

FILE# STATUS CHECKPOINT_CHANGE# CHECKPOIN RESETLOGS_CHANGE# RESETLOGS FUZ

---------- ------- ------------------ --------- ----------------- --------- ---

1 ONLINE 1155722 20-AUG-20 1155722 20-AUG-20 NO

2 ONLINE 1155722 20-AUG-20 1155722 20-AUG-20 NO

3 ONLINE 1155722 20-AUG-20 1155722 20-AUG-20 NO

4 ONLINE 1155722 20-AUG-20 1155722 20-AUG-20 NO

5 ONLINE 1155722 20-AUG-20 1155722 20-AUG-20 NO

```

**根据文档MRP Recovery Failed With ORA-19909 [ID 554358.1]**

**尝试解决:**

```

RMAN> reset database to incarnation 1

SQL> recover standby database;

ORA-00283: recovery session canceled due to errors

ORA-19909: datafile 1 belongs to an orphan incarnation

ORA-01110: data file 1: '/oracle/app/oradata/prod/system01.dbf'

//还是不行,官方Mos中记录的问题是由于主库与备库不处于同一个化身

而在我当前环境主备库化身线是一致的。

```

**主库化身线:**

```

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 PROD 457994418 PARENT 1 24-AUG-13

2 2 PROD 457994418 CURRENT 925702 19-JUL-20

```

**备库化身线:**

```

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 PROD 457994418 PARENT 1 24-AUG-13

2 2 PROD 457994418 CURRENT 925702 19-JUL-20

```

看来当强制read write打开备库为主库时,如果想要再次将其恢复成备库,仅仅从主库拷贝一个备份的控制文件是不可以的,还需要重新同步数据文件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69975956/viewspace-2714014/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值