ORA-16433 The database…

来源:互联网 发布:seo技术可以自学吗 编辑:程序博客网 时间:2024/05/28 22:10

SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-16433: The database has not been opened in read-write mode

 

 

 

 

RMAN Duplicate fails to open CLONE with ORA-01139 when the wrongundo tablespace is specified for the auxiliary [ID 1536368.1]转到底部 


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

修改时间:2013-3-12类型:PROBLEM状态:MODERATED优先级:3 注释(0)    
 

In this Document
 Symptoms
 Cause
 Solution
 References

 

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


This document is being delivered to you via Oracle Support's RapidVisibility (RaV) process and therefore has not been subject to anindependent technical review.


Applies to:
Oracle Database - Enterprise Edition - Version 11.2.0.3 andlater
Information in this document applies to any platform.

Symptoms
RMAN Duplicate fails to open CLONE with ORA-01139 when the wrongundo tablespace is specified in auxiliary pfile:

 

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 followingfailure.
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/201214: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: ORACLEinstance ter
minated. Disconnection forced
ORA-30012: undo tablespace 'UNDOTBS1X' does not exist or of wrongtype
 All attempts to clear the issue with manualrecovery fail:

Using SQLPlus

SQL> recover database using backup controlfile untilcancel;
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.

Using RMAN


RMAN> recover clone database;
RMAN-11003: failure during parse/execution of SQL statement: alterdatabase
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.
 

 

 

Cause
Auxiliary pfile specifies an invalid undo_tablespace name that isnot present in the database that is being duplicated.
This causes the auxiliary to fail immediately after openingwith  resetlogs.

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

Closed:  Not a Bug

A flag is set in the auxiliary pfile during resetlogs which isthen unset by the dictionary check when resetlogs completessuccessfaully.  As resetlogs did not complete theflag is  still set causing the ORA-16433 to beraised whenever the controlfile is subsquentlyaccessed.  There is no way to clear thisflag.
 

Solution
Recreate the controlfile using an edited version of the createcontrolfile script generated from the target:  Howto Recreate a Controlfile (Doc ID 735106.1)

The auxiliary alert log shows that a resetlogs was done and willidentify the online log for sequence# 1:

 

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

- correct undo_tablespace parameter in auxiliary pfile
- remount auxiliary with the newly created controlfile
- recover and open with resetlogs

 

SQL> recover database using backup controlfile;
ORA-00279: change 2023230 generated at 10/10/2012 14:27:01 neededfor 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: {=suggested | filename | AUTO | CANCEL}
C:\APP\DUP\REDO01.LOG
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.
 

 

0 0