Last week Oracle released Oracle Database 21c for additional platforms: Linux and Exadata. Other platforms will follow. You should keep an eye out for Release Schedule of Current Database Releases (Doc ID 742060.1) for further information.
Things to Notice
In my part of the Oracle Database, there are things to notice. I want to highlight:
- You can only upgrade CDBs and PDBs. Non-CDBs are no longer supported.
- Data Pump can now use checksums to verify the integrity of a dump file.
- Data Pump can now compress indexes on import.
- Migrations with transportable tablespaces are now easier with resume capability and parallel options.
To get all the details, visit the Upgrade and Utilities part of the new features documentation. There are some good examples of how the features can be used.
Read-Only Oracle Home (ROOH) is now the default. Be sure to set the following environment variables to control the location of these directories:
I like ROOH, but it takes some time to get used to. For instance, network/admin files (tnsnames, sqlnet) and dbs files (pfile, spfile) are now in a new location.
The Pre-Upgrade Information Tool or preupgrade.jar is removed and replaced by AutoUpgrade. A few new parameters have been introduced to make the transition easier.
Remember, 21c is an innovation release, which means a shorter support window than Long Term Releases such as Oracle Database 19c. If you adopt Innovation Releases, you should be prepared to upgrade to the next database release within one year after the next database release ships.
I would not recommend that you upgrade your production systems to Oracle Database 21c due to the limited support period. Not unless you are prepared to upgrade the database soon again – when support runs out. Oracle Database 19c is the current Long Term Support release. I recommend that for production databases.
To learn more about innovation release and our release model, have a look at our slide deck. We discuss it in the first chapter.
I want to mention a few new features. They haven’t attracted as much attention as the marque features, but they are still cool.
Expression based init.ora parameters make it possible to base database parameters (init.ora) on calculations made on the system’s configuration. For example, setting the database parameter CPU_COUNT to half the number of CPUs (Windows):
alter system set cpu_count='$NUMBER_OF_PROCESSORS/2';
For more details, check out my video on YouTube.
Placeholders in SQL DDL Statements can improve application security because sensitive information, like passwords, doesn’t need to be hardcoded in SQL DDL. Example: You can make this statement:
CREATE USER :!username IDENTIFIED BY :!password ...
And Oracle Call Interface programs can substitute the placeholders into:
CREATE USER "DANIEL" IDENTIFIED BY "MyS3cr3tP!d" ...
This is similar to data binding but occurs in Oracle Client.
The complete 21c documentation is online, so I suggest that you head on over there and have a look. In the upgrade guide, you can find the list of behavior changes and also deprecated and desupported functionality. And finally, but most interesting perhaps, is Learning Database New Features.