Blog updated Feburary 2024
At Dbvisit, we always recommend customers run our latest versions since they include functionality and stability improvements. But your organization may have a ‘Version -1’ policy for software, including Oracle Databases.
Reasons for a Version -1 Policy
A ‘version -1’ or ‘release -1’ policy can be put in place to reduce risk, have access to more public domain knowledge, and improve application compatibility. There are some reasons why applications may not want the database to be upgraded. These include:
1. The application does not support the latest version or may not have been thoroughly tested yet.
2. There are performance impacts with the latest database versions from an application perspective (this is an extensive topic that is not under our scope and the biggest headache that application and database teams face).
The upgrade path available will depend on your version. We know many of our Oracle SE customers are running older versions, such as 10g/11g through to 12c and 18c. Performing an upgrade of Oracle 12c to the 19c database version is recommended. Some of them are easy and direct, while others require more time and effort.
The below table from Oracle explains the direct upgrade methods available:
Once you have chosen an upgrade path, you should learn about the latest version’s known issues. Oracle support provides these in detail:
Oracle Database 19c Release Update & Release Update Revision January 2024 Known Issues (Doc ID 19202401.9 Oracle Support or Public Document ID 2521164.1
Once you have reviewed the known issues, we recommend also checking the issues fixed in the latest release. A few external articles provide details about the latest releases, bug fixes, and known issues. We recommend checking the Oracle support website for the most up-to-date information:
Database 19 Release Updates and Revisions Bugs Fixed Lists (Doc ID 2523220.1)
*Important* Never upgrade your production database directly
We highly recommend you include a test/development environment in your upgrade plan. Always complete the end-to-end application and performance testing before considering the upgrade of the production environment.
Diagram Reference from Oracle Database Upgrade Guide
Most Oracle clients will use DBUA to upgrade as its graphical user interface steps you through the upgrade process. But in cases where you are also moving to new hardware, changing OS, or changing data layout, a different upgrade method will be required.
The comparison table below from Oracle’s ‘Upgrade and Migrate to Oracle Database 19c’ white paper provides an overview of the methods and their use cases.
Upgrade Method Comparison Table
Below is an overview of the upgrade process using DBUA.
1 | Backup Your Database
Before the upgrade starts, create a database backup, including archive logs, and ensure that you have enough downtime arranged with the Application team to revert to this backup if the upgrade fails or if you encounter any issues. The downtime should have already been estimated based on the upgrade of your Test/Dev instances.
2 | Empty Recycle Bin & Gather Stats
Before the upgrade process, empty the recycle bin and gather stats. One of the recommendations is to export the stats as well.
Ensure you have enough free space in db_recovery_file_dest and make changes to db_recovery_file_dest_size if needed.
3 | Run Oracle’s Database Pre-Upgrade Utility
Run the pre-upgrade script using the below guide from Oracle support:
How to Download and Run Oracle's Database Pre-Upgrade Utility (Doc ID 884522.1)
The script output will provide you with two additional scripts:
4 | Install the Oracle 19c Database Software
Install the Oracle 19c Database software (You can do this before Step 1 since you must install it in a different Oracle Home location from your Oracle 12c Home.)
5 | Run the DBUA Utility
Run the DBUA utility to upgrade the database. The utility provides options for gathering stats before the upgrade, taking a database backup, creating a restore point, restoring the database to rollback, and creating custom scripts.
6 | Run Post-Upgrade Script & Restart Database
After the upgrade is complete, run the postupgrade_fixups.sql and restart the database.
After completing the above steps, here are some post-upgrade steps:
As mentioned above, check out the rest of our blog series outlining the benefits of 19c, the upgrade path for RAC customers, and upgrade methods:
Alternatively, you can take the next step to create a resilient architecture by taking a Test Drive of our product in your own online Oracle environment. We hope you found this blog helpful! If you have any questions or want to speak to an expert, reach out below.