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.

14 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?

  7. Non CDB instances are no longer possible with 21c !
    Asta la vista Oracle -> Switch to MS SQL

  8. Ludovic: Hi.

    1) I get loads of spam (adverts and stuff), so I moderate all comments, and comments on old posts get turned off after about 3 months.

    2) If you can change to another DB engine that easily, it doesn’t sounds like you were making full use of the Oracle database. If it’s that easy to switch, make sure you pick something cheaper than SQL Server. I would suggest going for something like PostgreSQL or MySQL. Why jump from one license fee to another? I work in a company that uses Oracle, SQL Server, MySQL and a bit of PostgreSQL, so I have to look after all of them. πŸ™‚ I always suggest free if it’s suitable for the project!

    3) Pluggable databases aren’t that bad. You can use 3 without needing the multitenant option, and unlimited PDBs in XE. If you use “Lone-PDB” it is very similar to non-CDB anyway. The move to multitenant shouldn’t be the deciding factor in switching from Oracle IMHO, but other opinions are valid. πŸ™‚



  9. Hello Tim,

    Changing from Oracle to MS-SQL will not be an easy task, because we have a lot of code written in PL/SQL that is by far superior to T-SQL of MS SQL. We inherited some part of the code from a 3rd party company . But we have more and more customers that ask us to support MS SQL. We are currently thinking to move all the code we have in the DB to Entity Framework and .NET 6. For small projects, we could even use the express edition of MS-SQL that is free of charge. I don’t think there is a free version of Oracle. Except using the power of PL/SQL we do not need any other features of Oracle.

  10. Ludovic:

    As a software house that needs to support multiple engines, you are kind-of forced to start doing things in the middle tier, even though I think this is a mistake from a performance perspective. We have some 3rd party apps that support Oracle, SQL Server and PostgreSQL. The apps are OK, but they don’t make good use of any of the engines, because by their nature they are using an ORM that is working with the lowest common denominator. I don’t like this choice myself, but I understand the decision process, and it might be the correct move for these companies.

    Oracle does have Oracle XE (Express Edition), which is free, but you don’t get patches, so there is one release with every major version jump. Currently it is at version 21c. It’s not quite the same as SQL Server Express, because you can’t buy support for Oracle XE, so although you could use it for a production system, many people would not.



Comments are closed.