Installation of Oracle Database 21c on Oracle Linux

As you may have expected already since Oracle Database 21c is available for download on Linux, I will publish some additional posts this week. Today, I will give a quick insight into the installation process.

CDB-only architecture

As you may or may not be aware, Oracle Database 21c is the first Oracle database release with CDB-only architecture. You can’t have a non-CDB in Oracle 21c anymore. Ah, wait a bit, didn’t I blog 1.5 years ago that Oracle Database 20c will be the first CDB-only release? True. But as you saw, there is no Oracle Database 20c. Hence, Oracle 21c will be now the first CDB-only release. This will have an effect on upgrading to Oracle 21c as you will see later this week in another blog post.


Before you just start right away with the installation, have a quick look into the Installation Guide at first.

Using the Database Preinstallation RPM is not a requirement but may be helpful. If it is available …

[root@hol oracle]# yum list oracle-database-preinstall-21c
Loaded plugins: langpacks, ulninfo
Error: No matching Packages to list

In my case this shouldn’t be an issue as I have several other homes in my environment.

Remember to create a new directory for the installation, and then copy the downloaded zip file into it and unpack it.

[CDB3] oracle@hol:/u01/app/oracle/product/21
$ ls
addnode      cv           has            jlib     olap     oui      racg           sqldeveloper  utl
assistants   data         hs             ldap     oml4py   owm      rdbms          sqlj          xdk
bin          dbs          install        lib      OPatch   perl     relnotes       sqlpatch
cfgtoollogs  deinstall    instantclient  md       opmn     plsql        sqlplus
clone        demo         inventory      mgw      oracore  precomp  runInstaller   srvm
crs          diagnostics  javavm         network  ord      python   schagent.conf  suptools
css          dv           jdbc           nls      ords     QOpatch  sdk            ucp
ctx          env.ora      jdk            odbc     oss      R        slax           usm

Call the OUI:

[CDB3] oracle@hol:/u01/app/oracle/product/21
$ ./runInstaller 
Launching Oracle Database Setup Wizard...

The response file for this session can be found at:

You can find the log of this install session at:

Then the Installer starts.

Installation of Oracle Database 21c on Oracle Linux

And a few clicks later you will see this screen:

Installation of Oracle Database 21c on Oracle Linux

Nothing seems unusual until now.

OS Certification

Please see the Installation Guide for certified operating systems and minimum requirements:

  • Operating System Checklist for Oracle Database 21c on LinuxThe following Linux x86-64 kernels are supported:
    • Oracle Linux 8.2 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.1.2.el8uek.x86_64 or later
    • Oracle Linux 8.2 with the Red Hat Compatible Kernel: 4.18.0-193.19.1.el8_2.x86_64 or later
    • Oracle Linux 7.6 with the Unbreakable Enterprise Kernel 5: 4.14.35-2025.404.1.el7uek.x86_64 or later
    • Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 4: 4.1.12-124.53.1.el7uek.x86_64 or later
    • Red Hat Enterprise Linux 8.2: 4.18.0-193.19.1.el8_2.x86_64 or later
    • SUSE Linux Enterprise Server 15 SP1: 4.12.14-197.29-default or later

Read-Only Home

The Oracle Home for Oracle 21c by default is a read-only Oracle Home. You can read more about Read-Only Homes here. I think the concept is quite good and well-thought but of course, you can revert to read-write homes again.

In a read-only ORACLE_HOME you will find the user-specific files, instance-specific files, and log files in a location known as the ORACLE_BASE_HOME.

[CDB3] oracle@hol:/u01/app/oracle/product/21
$ cd bin
[CDB3] oracle@hol:/u01/app/oracle/product/21/bin
$ ./orabasehome

You will find the configuration files for a read-only ORACLE_HOME in a location known as ORACLE_BASE_CONFIG.

[CDB3] oracle@hol:/u01/app/oracle/product/21/bin
$ ./orabaseconfig

How do you find out now whether you have a read-only Oracle Home?

$ cd $ORACLE_HOME/install
[CDB3] oracle@hol:/u01/app/oracle/product/21/install

$ cat orabasetab 
#orabasetab file is used to track Oracle Home associated with Oracle Base

The Y at the end of the line indicates that this is a read-only home.

What I find really funny is that any reference to roohctl, the tool to change to read-only homes and reverse, is not documented in the 21c documentation anymore. If you need more information about roohctl, you can find it in the 19c documentation:

If needed – and only then -, you can use the tool to disable Read-Only Oracle Homes:

$ ./roohctl -disable
Disabling Read-Only Oracle home.
Update orabasetab file to disable Read-Only Oracle home.
Orabasetab file has been updated successfully.
Read-Only Oracle home has been disabled successfully.
Check the log file /u01/app/oracle/cfgtoollogs/roohctl/roohctl-210816AM113056.log for more details.
[CDB3] oracle@hol:/u01/app/oracle/product/21/bin

Don’t get me wrong. I think Read-Only Homes are a very useful. So take this as “just in case”.

Afterwards, the marker switched to N:

$ cat orabasetab 
#orabasetab file is used to track Oracle Home associated with Oracle Base

Ok, installation is now done. Next step will be upgrading to Oracle Database 21c.

Further Links and Information


Share this: