Wednesday, July 03, 2013

Upgrading Oracle Database 11.2.0.3 to 12.1.0 (Oracle 12c)

There are different ways of upgrading to the latest release of Oracle database and Oracle provides multiple methods to upgrade. Few are listed below:
  • Database Upgrade Assistant (DBUA)
  • Manual Upgrade
  • Transportable Tablespaces
  • Datapump export/import
  • Oracle Streams
  • Oracle GoldenGate
I chose DBUA to upgrade my test database as it was the simplest and quickest of all. Below are the database environment details prior to upgrade:

Oracle Database Version:             Oracle Database 11gR2 (11.2.0.3) (64-bit)
Operating System:                         Oracle Enterprise Linux 6.1 (64-bit)

To begin the upgrade process, I copied Oracle 12c software to the database server and did the following
  1. Backup Oracle database
  2. Stop the database
  3. Stop listener
  4. Change ORACLE_HOME environment variable in the bash profile of “oracle” user
  5. Launch Oracle 12c Installer (./runInstaller)


You will see the following screen: 


Click "Next" and chose "Skip software updates".


Click "Next" and select "Upgrade an existing database". When you select this option Oracle will install Oracle 12cR1 software and then automatically launch DBUA to upgrade the databases.


Click "Next" and continue as shown in the screenshots below:







Make sure all the warnings are resolved before proceeding with the next step. In my case, I ignored the warning as this is a test database and the swap size is almost closer to the expected value.


Installation of Oracle 12 software begins as shown below:




 After installing the software and completing Net configuration, Oracle Universal Installer will launch DBUA to upgrade existing databases.

Below are the screenshots from DBUA:




I ignored the warnings as this is our test database. You would like to resolve these warning for your production, development, testing, etc databases.













Well, it took more than 90 minutes to upgrade my test database. DBUA generates log files under "/u01/app/oracle/cfgtoollogs/dbua//upgrade1/" location. You may monitor the logs to see the progress and scripts that DBUA executes during the upgrade process.





 Well, that's it. My database is now upgraded to Oracle Database 12c.

SQL> select * from v$version;

BANNER CON_ID
---------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production      0
PL/SQL Release 12.1.0.1.0 - Production      0
CORE 12.1.0.1.0 Production       0
TNS for Linux: Version 12.1.0.1.0 - Production      0
NLSRTL Version 12.1.0.1.0 - Production      0

SQL> 

I am sure you would like to look for alternative and near zero downtime database upgrade approaches to upgrade your production databases. Here are few of the helpful links in this regard:

Enjoy your Oracle Database 12c.
 



1 comment:

Unknown said...

Hi Momen,
I am an Oracle Apps DBA but didnt worked on upgrade. I have installed 11gR2 database(only core database) on RHEL6.0 and want to upgrade to 12c version.

Some points on your i didnt get, please help in getting clarified.

1. Backup Oracle database
2. Stop the database
3. Stop listener
4. Change ORACLE_HOME environment variable in the bash profile of “oracle” user
5. Launch Oracle 12c Installer (./runInstaller)

My doubt is what needs to be changed in bash profile of oracle user?

2nd doubt is i will use the same oracle user by which i have installed the DB?

3rd doubt is i will ftp the 12c software on same mount point where i have installed the database and how will create the ORACLE_HOME for 12c?

Thanks in Advance!
Nasim