Upgrading a database is not about the technical side of things. It’s about the planning that is required. I can upgrade a database in a few minutes, but the project to upgrade all the environments for a specific application can take months to complete. In this post I want to discuss some of the issues we are discussing at the moment regarding our future Oracle 23c upgrades.
What support dates are relevant?
Here are the support dates for the Oracle database.
|Release||Premier Support (PS) Ends||Free Extended Support (ES) Ends|
|19c||April 30 2024||April 30 2025|
|21c||April 30 2024||N/A|
Here are the current support dates for Oracle Linux.
|Release||GA Date||Premier Support Ends||Extended Support Ends|
|OL7||Jul 2014||Jul 2024||Jun 2026|
|OL8||Jul 2019||Jul 2029||Jul 2031|
|OL9||Jun 2022||Jun 2032||Jun 2034|
What database versions are we currently running?
To upgrade directly to 23c we must be running Oracle 19c or 21c.
All our databases are on 19c, so this puts us in a good position. It took a lot of pain and effort to get us to 19c, but it was worth it!
PDB or non-CDB architecture?
The non-CDB architecture was deprecated in 184.108.40.206, but it has remained supported up to, and including, 19c. So Oracle 23c will be the first long term release where the non-CDB architecture is not an option. If you’ve not got up to speed on pluggable databases, you better get started soon! (Multitenant Articles)
With one exception, we have PDBs across the board, so there is nothing new for us here. It sometimes felt like I was swimming against the tide by pushing PDBs so hard over the years, but it all seems worth it now.
What OS are you running on?
I’m going to conveniently forget that anything other than RHEL/OL exist, because other operating systems don’t exist for me in the context of running Oracle databases.
It took us a long time to migrate from OL6 to OL7. The majority of our Oracle databases are currently still running on OL7, which is fast approaching end of life. Since Oracle 23c will not be supported on OL7, we are going to need to migrate to a newer operating system. I wrote about my scepticism around in-place RHEL/OL upgrades (here), so that leaves us two choices.
- Move our existing databases to a new OS now, then upgrade to 23c later.
- Wait for the 23c upgrade, and do a big-bang OS migration and database upgrade.
What’s stopping us from doing the first option now? Nothing really. We could migrate our 19c databases to OL8 servers. It would be nicer to migrate them to OL9, but it is not supported for 19c yet. I recently wrote a rant about product certifications on Oracle Linux 9, which resulted in this response from Oracle.
“Oracle Database product management has confirmed that when Oracle Database 23c ships, it will be certified for both OL8 and OL9. Also, Oracle Database 19c will be certified on OL9 before end of 2023.”
That’s really good news, as it gives us more options when we move forward.
Will Oracle Linux exist in the future? Yes!
Just as I thought I had got my head around the sequence of events, RHEL dropped the bombshell about how they would distribute their source in future (see here). This raised concerns about if RHEL clones such as Oracle Linux, Rocky Linux and AlmaLinux could even exist in future.
Without knowing the future of our main operating system, we were questioning what to deploy on new servers. Do we continue with OL or switch to RHEL? Rocky and Alma released some “don’t panic” messages, but Oracle were very quiet. I wasn’t surprised by that, because Oracle don’t say anything until it has passed through legal, but as a customer it was a very nervy time.
A couple of days ago we got a statement from Oracle (here), with a firm commitment to the future of Oracle Linux. I immediately spoke to our system admins and said OL8/OL9 is back on the table. Phew!
I have my own opinions on the RHEL vs clones situation, but as a customer it’s not about politics. I just need to know the OS we are using is still going to exist, and will be supported for our databases. In that respect the statement from Oracle was very welcome!
Do you need a hardware refresh?
If you are running on physical kit, you need to check your maintenance agreements. You may need a hardware fresh to keep everything up to date.
We run everything on virtual machines (VMs), so the hardware changes to the clusters have no impact on our VMs. We’ve had at least one hardware refresh during the lifespan of some of our database VMs.
Thanks to Ludovico Caldara for mentioning this point.
What versions do vendors support?
We use a lot of third party applications, and some of the vendors are really slow to certify their applications on new versions of the database and operating systems.
Ultimately we will make a choice on destination versions and timings based on application vendor support.
Manual or AutoUpgrade?
In Oracle 23c manual upgrades are deprecated (but still supported). I was late to the party with AutoUpgrade, but now I’ve used it I will never do manual upgrades again. We will definitely be using AutoUpgrade for our 23c upgrades!
If you are new to AutoUpgrade I have some examples of using it when I was doing 21c upgrades (see here). That should help you get started.
What are you going to test?
Testing is always a big stumbling block for us. We are not very far down the path of automated testing, which means we need bodies to complete testing. The availability of testing resource is always an issue. There are times of the year when it is extremely unlikely people will be made available, so planning this resource is really important.
So what’s the plan?
It’s always a balancing act around support for the OS, database and application vendors. Ultimately each project will have to be dealt with on a case by case basis, as the allocation of testing resources and potential disruption to the business have to be factored in. Everything is open to change, but…
- Our default stance is we will upgrade to Oracle 23c on OL9. We will build new OL9 servers and install 23c on them, then use AutoUpgrade to migrate and upgrade the databases. For some of our internal developments I feel this could happen relatively quickly (kiss of death).
- Application vendor support is often a sticking point for us, and timing will have to factor in the OL7 end of life. If support for 19c on OL9 comes in time, we may migrate our 19c databases to OL9, while we wait for a vendor to support Oracle 23c. Alternatively we could pay for extended support for OL7, and do the OS and database in one go once the application vendor is happy.
I realise this has been a bit of a ramble, but I just wanted to write it down to get things straight in my own head. 🙂
PS. I have some technical posts on upgrading to 23c that will be released once the on-prem version of 23c goes GA.