Oracle 21c is here! Please don’t use it!

If you were hanging around Twitter a few hours ago you will have seen people tweeting about the release of Oracle 21c for Linux.

  • Linux downloads here (scroll down).
  • Documentation here.

Every new release starts a flurry of activity by people like myself, but with Oracle 21c that excitement has to be tempered because Oracle 21c is an innovation release. I wrote about this here.

To cut a long story short, an innovation release is only supported for a short time, so you are expected to upgrade very soon after the next release is available. The next release will be Oracle 23c, which will be a long term release.

So what should I do?

There is a reason why Oracle 19c is still top of the downloads page and you have to scroll down to see the 21c downloads. Oracle 19c is the latest long term release, so your main focus should be getting all your databases to Oracle 19c, and preferably running on pluggable databases.

If you have a pressing need for some of the features of Oracle 21c, then by all means test it out and consider going to production with it, but only if you *know* you will be upgrading to Oracle 23c as soon as it’s released.

Of course, this doesn’t stop you playing with Oracle 21c now. I always recommend using the latest release for your playgrounds.

What should I expect of 21c?

Let’s be honest. The Oracle database is a very mature product, so the vast majority of new features will not be of interest to most people. That’s not to say there isn’t any cool stuff, there is, but you know you are still using the database like it is Oracle 7… 🙂

A couple of things that may confuse people with 21c are:

  • Non-CDB instances are desupported, so you have to use PDBs. I’ve been telling you to learn this stuff since Oracle 12.1! Remember, you can use up to 3 user-defined PDBs without having to pay for the multitenant option, so there is no licensing cost implication to switching to multitenant provided you stay within this limitation.
  • Read-only Oracle homes are the default in 21c. This functionality was introduced Oracle 18c (see here), but I get the impression most people don’t know it even exists. Well, you better learn! It’s going to take a little time to get used to the new locations of things, but I think it’s a better solution in the long run.


Don’t be stupid, stupid!

Oracle 21c is an innovation release, so make sure you know what you are getting into before launching into using it. If someone is pressuring you into moving to Oracle 21c for real systems, you need to question their motivation.

Over the next few days there will be installation articles appearing here, as well as Vagrant and Docker builds. I’ve already done a first cut of a basic Vagrant build here, but it will probably change a bit over the coming days/weeks as I play with the new release. There will also be RAC and Data Guard builds, but first things first…

Happy upgrading, or not… 🙂



PS. There are still some people that haven’t got the memo yet. There will be no 22c. Oracle is skipping it and the next release after 21c will be 23c.

Author: Tim...

DBA, Developer, Author, Trainer.

9 thoughts on “Oracle 21c is here! Please don’t use it!”

  1. Hi Tim,

    Can I install it in Linux installed under VMWare?

    Also, will your Vagrant build directly install it in my Linux machine?

  2. Kinjan: Yes. You can install Linux under VMware.

    Vagrant creates virtual machines using VirtualBox, so you need to run this on your host machines (Windows, Linux, Mac) and it will fire up VirtualBox VMs.

  3. Every customer I worked with towards the end of my “purely Oracle DBA” career passionately resented every upgrade basically since 11gR2. Every customer I worked with towards the end of my “purely Oracle DBA” career passionately resented the exorbitant Oracle support fees. All of these customer (a) did not want to upgrade (b) did not need to upgrade (c) but felt pressured to upgrade. Indeed several customers would have been quite happy to remain on Oracle 10gR2. In the face of all this resentment towards upgrades, what did Larry Ellison and Oracle Corporation elect to do? The elected to speed up the pace of upgrades and make them YEARLY.

    But there is a more serious issue with this YEARLY upgrade system. When we get to the year “3019” what will Oracle call the release ? They can’t call it “19c” because it would be confused with the release that was made in 2019. So will they call it “3019c” ? Well, these kinds of questions don’t keep me awake at night.

    Why am I making these cranky remarks? Well, when Tim said “Wait, don’t apply it” I thought maybe he had joined the resistance …

    Fortunately, I still like Oracle Corporation thanks to their Oracle Linux product.

  4. Gilbert: I had similar worries about the release cadence, but now we know there are innovation releases and long term releases, most companies will just bounce between long term releases (every 3-4 years), so the upgrade situation is not so terrible.

    Unfortunately, the shady side of Oracle Corporation seems to remain at this point. Time will tell if they can fix this…



  5. Thanks, Tim.

    Is there any documentation available which explains how to install and configure Oracle Database 21c in my Linux VMWare machine from scratch and explore it with SQL Developer?

    I don’t want APEX or other stuff, just want to learn new APIs in PLSQL.


  6. Usually there was a 3 year cycle.
    20c was only a preview (due to Covid)
    21c is an innovation release
    22c could actually be a long term release

    You write 23c is Long Term.
    Will 22c just be innovation too?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.