How to Downgrade Oracle Database 12c Release 1 (12.1) to Previous Versions (Doc ID 1516622.1)

Last updated on SEPTEMBER 07, 2017

Applies to:

Oracle Database - Standard Edition - Version 12.1.0.1 and later
Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.

Goal

Purpose 

This document is created for use as a guideline and checklist for downgrading a previously upgraded database from Oracle 12c back to the previous release: 11.2.0.3, 11.2.0.2. 11.1.0.7

An important note is that when downgrading a database instance from the current version to the version prior to the upgrade, the database IS NOT returned to the same state as it was pre-upgrade.  Depending on the versions involved, the upgrade process makes changes that are not reversible. The downgrade process allows users to open and access the database instance in the previous version. This is usually sufficient.

Additional corrective actions (such as de-install / re-install or re-upgrade to current patchset levels) may be needed to settle left-over issues after a downgrade. If the goal is to have the instance back EXACTLY as it was pre-upgrade then other processes including a recovery to just before the upgrade should be used.

The process discussed in this article is a script based downgrade.  This article does not discuss the use of Export/Import, Data Pump or other methods to move data from one version to another.

Oracle binaries of the release/version to which you are downgrading should be available/installed on the server before you start the downgrade process.   If you have uninstalled the Oracle executable's to which you want to downgrade, please re-install the oracle binaries to the correct version/patch level for the downgrade.

This process is intended to downgrade a database that was successfully and upgraded to 12c.  It is not intended to back out from a failed upgrade. You can only downgrade to the release and patch level you upgraded from.

Direct upgrade is possible for release 10.2.0.5, 11.1.0.7, or release 11.2.0.2 or higher. Downgrade is possible to these versions except 10.2.0.5.

For example, if you upgraded from Oracle 11.1.0.6 to Oracle 12c (12.1.0) by applying intermediate patch 11.1.0.7, then you can not downgrade to Oracle 11.1.0.6.   Downgrade can be done only to Direct upgrade version

Exception:

Even though direct upgrade is possible for 10.2.0.5, downgrade is not applicable to 10.2.0.5.

This is because in the upgrade process the compatible parameter is set to a minimum 11.0.0.  This prevents downgrade to 10.2.0.5.  The possible downgrade versions are 11.1.0.7, 11.2.0.2, 11.2.0.3 or higher

If there are any patches applied on the source database running from the upgraded home, they need to be rolled back before beginning the downgrade process.
The steps to un-install and roll back patches are documented in the readme for the patch in question. 
Failure to un-install and roll back patches can result in a failure to downgrade including dictionary objects that cannot be re-validated.

Example for an Exadata Bundle Patch, the procedure is to:

Un-install the patch

                 Example:   $ opatch auto /u01/app/oracle/patches/14103267 -rollback 

Roll back any SQL applied as part of the patch application:       

                 Example:   SQL> @rdbms/admin/catbundle_EXA_<database SID>_ROLLBACK.sql to rollback SQL changes.

 

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms