2012-04-25

alter database open resetlogs upgrade;

Recovery Through Upgrade returns ORA-1092 on Open [ID 560417.1]

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.3 and later   [Release: 10.2 and later ]
Information in this document applies to any platform.

Symptoms

Recovery of an older database version backup results in error upon database open:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
....
ORA-01092: ORACLE instance terminated. Disconnection forced

Cause

Error occurs because the current database version is newer than the backup datafiles, upgrade
steps must be taken which require the database to be started with the UPGRADE option.

When a database is upgraded from one version to another, the database must be started with UPGRADE
option to execute the necessary upgrade steps. The database cannot be opened in read write under
the new version until these steps are taken. This justifies cause.
If incomplete recovery is required, the database should be opened with:
SQL>  alter database open resetlogs upgrade;
If an attempt to open the database without the upgrade option, the error will occur.  This can be resolved with the steps documented below.  

Solution

To implement the solution, please execute the following steps:

1. Perform restore and recovery.

2. Open the database with resetlogs:
SQL> alter database open resetlogs;
NOTE: this will fail with ORA-1092. The alert.log will show the ORA-39700: database must be
opened with UPGRADE option error.

3. Open the database with upgrade option:
SQL> startup upgrade;
NOTE: due to the ORA-1092, the current sqlplus session must be exited and new connection made.

4. Perform necessary upgrade steps as documented in the readme file for the patch/upgrade you applied.   For example, catupgrd.sql. 

5. Once upgrade steps are complete, shutdown and open the database:
SQL> shutdown immediate;
SQL> startup

NOTE: any attempts to recover after the upgrade steps (especially with 'using backup
controlfile') will result in error. In addition, there is no need to use the RESETLOGS option
upon open. The key here is after the upgrade, the database should be opened with STARTUP.
Instance recovery and the fact that the controlfile is now CURRENT, will allow Oracle to apply the
necessary information in the online redo log files and startup the database.

Niciun comentariu:

Trimiteți un comentariu