Sunday, January 4, 2015

Upgrading Oracle 11g Database to 12c using DBUA

For manual upgrade guide from 11g to 12c or to, click here

Here I would be discussing how to upgrade Oracle 11g ( database to 12c ( on the same server. This upgrade process was done on Linux 6 (x86_64). I used DBUA (Database Upgrade Assistant) to perform this upgrade. DBUA is also a recommended way to perform the upgrade as it would automate almost everything for you. You should be able to use same method to upgrade database on other OS platforms. 

As 12c has introduced multitenant architecture in which you can either have a non-container (non-CDB) database or a container database. Every 12c upgraded database becomes a non-CDB (same as pre-12c) after the upgrade and then either you can keep using this existing non-CDB database, or you can convert this non-cdb database into a PDB (pluggable database); and plug into a container database (on the same server or a separate server). 

For any other topology of upgrade which involves other than 11.2.04 database, following document would be helpful for you.

Initiate DBUA, click Next

My 11g database “db11g” is already selected, click Next

Click Next

Be careful in selecting the parallelism for upgrade process based on the number of processors you have. Click Next

Specify OEM port. Click Next

Click Next

Select a Listener to get this database registered after the upgrade. DBUA would set local_listener parameter to register the database with selected listener. Optionally select “Create a New Listener”. Click Next

Select if you want DBUA to take backup for you before the upgrade, or if you have; or want to create a Guaranteed Restore point before you perform the upgrade. Click Next

Click Finish to start the upgrade process

Monitor the progress

During upgrade, I found “ORA-06598: insufficient INHERIT PRIVILEGES privilege” in the alert log file (as can be seen in the following screenshot). According to MOS note 1911119.1, it can safely be ignored.

Once done, you can click on “Show Results” to see detailed output of the upgrade process.

I should reiterate that this upgraded database is a non-CDB and it would behave same like databases prior to 12c, for example, username or role name cannot begin with C## (which is mandatory in a CDB for common users). Now we can either keep using it as a non-container database or we can convert it to a pluggable database and plug into an existing CDB.


    1. Found below one for manual upgrade method

    2. Salaam Salman,

      I will have two Oracle homes, one for 11g databases and the other for 12c non-cdb databases.

      I have to keep 11g up and running while installing 12c because some databases can not be upgraded to 12c and will use 11g because of apps dependencies.

      Please advice.

      Islam Baig

      1. wa alaikumus salam
        Just go ahead and install 12c because it will be installed in a different home and will not touch/hurt anything running from your 11g home. Later you can use DBUA to upgrade any 11g database you want.

    3. Thank you ,This well explained and usefull