Enterprise-class Disaster Recovery for Oracle SE that prioritizes database integrity, disaster resiliency, recovery speed, and ease of use.
As a DBA for over two decades, I have learned a few things along the way. One is how to ensure the database has the maximum uptime possible without compromising its performance or integrity.
Another is the importance of keeping database versions up to date with the latest patch fixes. Keeping database versions up to date can sometimes be challenging. Any update requires you to create a plan including the following factors:
#1. Why do we need to upgrade?
#2. How long is the current version supported?
#3. Do I need to upgrade it to the latest version and release (RU/RURs or BP)
#4. What upgrade method should I follow if I upgrade from an older version to the newest version?
We have discussed points #1 and #2 in our Upgrade to 19c on Oracle Standard Edition blog; if you’re unsure about upgrading to 19c, we suggest checking it out.
In this blog, I introduce the different upgrade methods, considerations to take before upgrading, and upgrading using the Database Upgrade Assistant (DBUA).
Do You Need to Upgrade to the Latest Version and Release?
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 why your Organization may have 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:
- The application does not support the latest version or may not have been thoroughly tested yet.
- 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).
Determining the Right Upgrade Path for You
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. Some of them are easy and direct, while others require more time and effort.
The below table from Oracle explains the upgrade methods available:
Learn About Known Issues After Choosing Your Upgrade Path
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 October 2020 Known Issues (Doc ID 2694903.1)
Learn About the Issues Fixed in the Latest Release
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)
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
The Different Methods of the Upgrade Process
- Database Upgrade Assistant (DBUA)
- Manual Command-line Upgrade (dBupgrade)
- Transportable Tablespaces
- Data Pump export/import
- Oracle Golden Gate (outside of our scope)
Comparison of the Different Upgrade Methods:
Most Oracle clients will use DBUA to upgrade as its graphical user interface steps you through the 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’ whitepaper provides an overview of the methods and their use cases.
Upgrade Method Comparison Table
Example of Upgrading with the Database Upgrade Assistant
Below is an overview of the upgrade process using DBUA.
#1 | Backup Your Database
Before the upgrade starts, take a full backup of the database, 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:
- preupgrade_fixups.sql (Must be run before the upgrade)
- postupgrade_fixups.sql (Must be run after the upgrade)
#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:
- Ensure the application connects to the database (Move your SQLNet.ora, Listener.ora). The listener can be reconfigured during the DBUA process itself.
- Initiate a full backup of the database along with archive logs.
We hope you found this blog helpful, and please let us know if you have any questions - we are happy to assist.
Journey to a High-Performance, Highly Resilient 19c Oracle SE Solution
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:
- Upgrade to 19c on Oracle Standard Edition
- What's the Difference Between Oracle RAC and Oracle SE2HA? (Part 1)
- Add Resilience to Oracle SE2HA (or RAC) Clusters with Disaster Recovery (Part 2)
- Database Upgrade Methods to Oracle 19c (You're Here)
- Why Oracle 19c?