如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

Oracle数据库- 企业版- 版本11.2.0.以及更高版本

本文档中的信息适用于任何平台。

症状

由于ORA-01139/ ORA-16433RMAN复制打开时报错CLONE,辅助pfile中指定了错误的UNDO表空间:

contents of Memory Script: { Alter clone database open resetlogs; } executing Memory Script } executing Memory Script RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00601: fatal error in recovery manager RMAN-03004: fatal error during execution of command RMAN-10041: Could not re-create polling channel context following failure. RMAN-10024: error setting up for rpc polling RMAN-10005: error opening cursor RMAN-10002: ORACLE error: ORA-03114: not connected to ORACLE RMAN-03002: failure of Duplicate Db command at 10/10/2012 14:27:10 RMAN-05501: aborting duplication of target database RMAN-03015: error occurred in stored script Memory Script RMAN-06136: ORACLE error from auxiliary database: ORA-01092: ORACLE instance ter minated. Disconnection forced ORA-30012: undo tablespace 'UNDOTBS1X' does not exist or of wrong type

所有试图解决人工恢复问题的尝试都失败了 :

使用 SQLPlus

SQL> recover database using backup controlfile until cancel; ORA-00283: recovery session canceled due to errors ORA-16433: The database must be opened in read/write mode.

SQL> alter database backup controlfile to trace; alter database backup controlfile to trace * ERROR at line 1: ORA-16433: The database must be opened in read/write mode.

使用 RMAN

RMAN> recover clone database; RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed start until cancel using backup controlfile ORA-00283: recovery session canceled due to errors ORA-16433: The database must be opened in read/write mode.

原因

辅助pfile指定一个无效的UNDO_表空间名,不存在于正被复制的数据库中。

这将导致打开重置日志后AUXILIARY立即报错。.

<Bug 14744052>   AFTER FAILURE OF DUPICATE COMMAND DURING OPEN RESETLOGS, CLONE RAISES ORA-16433

关闭:不是错误

在辅助PFILE重置日志中设置一个标志,成功完成重置日志后可以通过字典检查取消该设置。因重置日志没有完成,标志仍需设置,会导致每次访问控制文件时出现ORA-16433。没有办法清除这个标志。

解决方案

重建控制文件,使用目标中生成的新建控制文件脚本的编辑版:如何重建一个控制文件(文档编号735106.1

辅助警报日志表明,重置日志已完成并且将确定联机日志序列#1:

Thread 1 opened at log sequence 1 Current log# 1 seq# 1 mem# 0: C:\APP\DUP\REDO01.LOG

要完成这个过程 : - 在辅助pfile 中修正undo_ tablespace参数 - 用新建控制文件重新安装AUXILIARY - 恢复并打开重置日志

SQL> recover database using backup controlfile; ORA-00279: change 2023230 generated at 10/10/2012 14:27:01 needed for thread 1 ORA-00289: suggestion : C:\APP\FAST_RECOVERY_AREA\DUP\ARCHIVELOG\2012_10_10\O1_MF_1_1_%U_.ARC ORA-00280: change 2023230 for thread 1 is in sequence #1 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} C:\APP\DUP\REDO01.LOG Log applied. Media recovery complete. SQL> alter database open resetlogs; Database altered.

注意:为了避免将来出现该错误,确保为AUXILIARY指定的UNDO_TABLESPACE参数设置与当前目标数据库的设置相同。如果复制RAC目标数据库,你可以为AUXILIARY指定任意目标实例的UNDO_TABLESPACE

注意: ----- o

如果指定了错误的UNDO表空间,然后在重置日志还原和恢复后试图打开RMAN数据库,同样的错误ORA-01139/ ORA-16433也会出现。