I will explain Oracle Database Upgrade methods and How to Upgrade Oracle Database in this article.
Before upgrading Oracle database in the production environment, Application compatibility must be tested in minimum 1 time in detail. In particular, this upgrade process from 10g to 11g or 11g to 12c is a major upgrade , so application or software compatibility test needs to be done in detail.
The minimum tests you need to do should be as follows.
1- Upgrade method should be determined. Currently available Oracle Upgrade methods are as follows
a-Manual Upgrade: It is the most flexible method that running the necessary scripts step by step for the upgrade, and all control and responsibility belongs to DBA and the slightest mistake may cost lots of fatal error.
b-Datapump Upgrade: This method is usually used for Cross Platform Database Migration and Upgrade between Linux,AIX – IBM, Windows, Sun Solaris, HP-UX (for example, when the production environment is Linux while the Upgrade environment is requested as IBM AIX).
c- DBUA ( Database Upgrade Assistant ) Upgrade: This method is the most recommended and reliable method. Upgrade with the graphical interface GUI offered by Oracle. I’m going to upgrade database with this method in this article.
2- Create new Server with the same or more advanced features as the hardware and operating system of the production environment and Install same version Oracle database with production database. Duplicate Production database to new server or create Test database from Production database , then Upgrade this clone database [test database] to new version and perform all test operations on this test database.
3- After database upgrade is completed on Clone database, connect application to the database is directed, perform all application tests. It should be confirmed that all modules and functionality of the application run correctly on new Oracle Version.
4- If a problem or bug is occurred in step 3, these problems should be solved before Real Upgrade.
5- Downtime for Database upgrade should be calculated before Real Upgrade. If downtime is too much, then Upgrade method should change
6- Performance Tests should be performed in the Clone database by using SQL Performance Analyzer (SPA) and Database Replay features with RAT (Real Application Testing feature).
TOP SQLs that are mostly used by application should be collected , then monitor their performance on Upgraded Clone database. If any SQL run more slow in the new version, these SQLs should be tuned and fix their performance.
7- Finally Database Load test is performed on the Upgraded database by creating a same load on the production database. During the load test, new Oracle version, CPU and Memory of the new server are monitored and measure performance metrics.
Requirements I have listed above It is recommended that a production system should be tested 1 time during the upgrade at least once if it is in critical databases.