Oracle Database upgrades consist of six major steps.
Upgrade Steps Workflow
The following figure summarizes the major procedures performed during the upgrade process:
Figure 1-1 Upgrade Steps Workflow for Oracle Database
Step 1: Prepare to Upgrade Oracle Database
Become familiar with the features of the new release of Oracle Database.
Determine the upgrade path to the new release.
Select an upgrade method.
Select an Oracle home directory for the new release.
Develop a testing plan.
Prepare a backup strategy.
Follow preupgrade recommendations.
Run preupgrade fixup scripts, or carry out manual preupgrade system updates.
During the upgrade, consider running multiple releases of the database software, so that you can use the existing release as your production environment while you test the new release.
Step 2: Test the Upgrade Process for Oracle Database
Perform a test upgrade using a test database. Conduct the test upgrade in an environment created for testing that does not interfere with the production database. Your test environment should be on a server that is as much as possible a replica of the production environment. For example: the server should not only use the same operating system. The operating system should be running the same patch level, with the same packages, and match other details of system configuration.
Step 3: Test the Upgraded Test Oracle Database
Perform the tests that you planned in Step 1 on the test database that you upgraded to the new release of Oracle Database.
Review the results, noting anomalies in the tests.
Investigate ways to correct any anomalies that you find and then implement the corrections.
Repeat Step 1, Step 2, and the first parts of Step 3, as necessary, until the test upgrade is successful and works with any required applications.
To test for anomalies and determine potential support questions, carry out SQL plan management. SQL plan management includes the following steps:
Before the upgrade, capture baselines and plans on the earlier release Oracle Database, and store those plans.
Oracle recommends that you store the plans on staging tables, and then run the Data Pump Export utility
expdp for those tables.
After the upgrade, in the event of a regression or a performance issue, apply (load/accept/evolve) an old plan that you know is good, based on the plans you captured from the previous release Oracle Database.
Oracle Database SQL Tuning Guide for more information about SQL plan management
Document 1948958.1 Patches to Consider for 126.96.36.199 to Avoid Problems with SQL Plan Management (SPM)
Document 2034706.1 Patches to Consider for 188.8.131.52 to Avoid Problems with SQL Plan Management (SPM)
Document 2035897.1 Patches to Consider When Upgrading From 184.108.40.206 to Avoid Problems with SQL Plan Management (SPM)
Step 4: Prepare and Preserve the Production Oracle Database
Complete these tasks before you upgrade your existing production database:
Prepare the current production database as appropriate to ensure that the upgrade to the new release of Oracle Database is successful.
Schedule the downtime required for backing up and upgrading the production database.
Back up the current production database.
Before you carry out a major change to a system, Oracle recommends that you make sure that you have a fallback strategy implemented. Your fallback strategy should include the following:
Test your backup strategy, and ensure that it works.
If you need a backup strategy, then plan for the time required to apply it.
To perform plan stability checks in preparation for upgrade, carry out SQL plan management. Raise a service request if you need assistance.
A database upgrade that installs a new optimizer version usually results in plan changes for a small percentage of SQL statements.
Most plan changes result in either improvement or no performance change. However, some plan changes may cause performance regressions. SQL plan baselines significantly minimize potential regressions resulting from an upgrade.
When you upgrade, the database only uses plans from the plan baseline. The database puts new plans that are not in the current baseline into a holding area, and later evaluates them to determine whether they use fewer resources than the current plan in the baseline. If the plans perform better, then the database promotes them into the baseline; otherwise, the database does not promote them.
Step 5: Upgrade the Production Oracle Database
Upgrade the production database to the new release of Oracle Database.
After the upgrade, perform a full backup of the production database and perform other post-upgrade tasks.
Step 6: Tune and Adjust the New Production Oracle Database
Tune the new production database for Oracle Database 12c. The new production database should perform to the same standards, or better, than the database before the upgrade.
Determine which features of Oracle Database 12c to use, and update your applications accordingly.
Develop new database administration procedures as needed.
Do not upgrade production users to the new release until all applications have been tested and operate properly.