oracle11g备份出错,恢复oracle11g RAC数据库全备份到异机单实例时出现 ORA-38856错误...

一. 问题场景:

本周做了一次将oracle 11g RAC+asm数据库全备份,然后把备份恢复到异机单实例的测试。

在recover database、并重建控制文件后,打开数据库时,出现此错误:

----打开数据库

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled

二. 解决方法一

百度了一下,对该错误的解释如下:

ORA-38856:Cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled

Example:

In the example below the error Occurred while performing an open resetlogs on a 10.2.0.3 Oracle Single Instance Database

Server prior to restoring an RMAN backup of and Oracle Database. The RMAN backup was taken from a RAC Database Server

and restored to a Single Instance Box.

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled

Details:

ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled.

Oracle bug, 4355382 ORA-38856: FAILED TO OPEN DATABASE WITH RESETLOGS WHEN USING RAC BACKUP, exists in the

Oracle 10g release 2.0 that affects backups taken from a RAC database. The problem is related to the number of threads

used by the source database and an expectation that the cloned database must have an identical number of threads.ORA-38856 is the expected error during open database resetlogs when the set of

enabled instances (redo threads) in the controlfile does not match the set of

enabled instances (redo threads) in datafile checkpoint. This is expected

behavior in a normal RAC restore/recover/open resetlogs situation.

这句话的意思是:在resetlogs的时候发现控制文件中的redo threads和数据文件checkpoint的redo

threads不一致,从而出现该问题。数据库在异常恢复过程中需要读取节点2的redo信息,现在无法读取从而出现该错误。

Solution:

1. Set the following parameter in the auxiliary init.ora file: _ no_recovery_through_resetlogs=TRUE.

2. Open the database in resetlogs mode.

3. Remove _ no_recovery_through_resetlogs=TRUE from init.ora.

4. Restart database.

成功打开数据库。

-----以上内容可以参考:RMAN Duplicate from RAC backup fails ORA-38856 (Doc ID 334899.1)二. 解决方法二

在oracle11g的官方文档中,对该错误的解释为:

ORA-38856: cannot mark instancestring(redo threadstring) as enabled

Cause:The open resetlogs or standby activation operation failed because it needs to mark an instance (redo thread) as enabled. However, it had less than 2 online redo logs, which prevented it from being enabled.

Action:Add more logfiles to the specified instance and retry the command.

因为在备份数据库上有4组在线日志 :

GROUP#  THREAD#   SEQUENCE#

1                1             1473

2                1             1472

3                2             199

4                2             200

于是再增加两个thread 2的redo log 文件:

SQL> ALTER DATABASE ADD LOGFILE THREAD 2

GROUP 3 '/u01/app/oradata/imddb/redo3_01.log' SIZE 50M,

GROUP 4 '/u01/app/oradata/imddb/redo4_01.log' SIZE 50M;SQL> ALTER DATABASE OPEN RESETLOGS;

Database altered.

数据库成功打开。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值