How to install Oracle Database 18c XE on Oracle Linux 8

It has been more than two and a half years since Oracle 18c XE has been released for Linux. Since then things have changed and one of these changes was the release of Oracle Linux 8 about nine months later. Unfortunately, installing Oracle 18c XE on Oracle Linux 8 is no longer quite as straightforward as it was with Linux 7 – a simple yum command. That is because the oracle-database-preinstall-18c is not provided for Oracle Linux 8. However, installing Oracle 18c XE on Oracle Linux 8 is still possible, it just requires a few more keystrokes.

tl;dr

Execute all commands as root user:

  1. curl -OL https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm
  2. dnf install -y /bin/bash /bin/sh /etc/redhat-release bc bind-utils binutils ethtool glibc glibc-devel initscripts ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make module-init-tools net-tools nfs-utils openssh-clients pam procps psmisc smartmontools sysstat unzip util-linux-ng xorg-x11-utils xorg-x11-xauth libnsl
  3. rpm -i --nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm

Background

If you try to install Oracle Database 18c XE on Oracle Linux 8, you will see an error similar to this:

[root@localhost ~]# dnf install oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:27:58 ago on Tue 04 May 2021 06:42:41 PM PDT.
Error:
 Problem: conflicting requests
  - nothing provides oracle-database-preinstall-18c needed by oracle-database-xe-18c-1.0-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

The issue here is the highlighted line above, basically dnf cannot find the oracle-database-preinstall-18c package. Neither the --skip-broken option helps, as that option will just skip the RPM because a missing dependency is considered a broken package too:

[root@localhost ~]# dnf install --skip-broken oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:01:05 ago on Tue 04 May 2021 07:15:14 PM PDT.
Dependencies resolved.
Nothing to do.
Complete!

Nor the --nobest option, because there is no other candidate package:

[root@localhost ~]# dnf install --nobest oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:01:54 ago on Tue 04 May 2021 07:15:14 PM PDT.
Error:
 Problem: conflicting requests
  - nothing provides oracle-database-preinstall-18c needed by oracle-database-xe-18c-1.0-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

Installing Oracle 18c XE on Oracle Linux 8

To work around that issue, you have basically three options:

  1. Add the old Oracle Linux 7 yum repo and install Oracle Database 18c XE
  2. Manually install the dependencies and then the
  3. Oracle Database 18c XE RPM package directly
  4. Install the 19c preinstall RPM, the missing libnsl package and Oracle Database 18c XE

Note: I recommend approach #2 which is the most generally applicable one.

Solution #1: add the old Oracle Linux 7 yum repo

To work around the missing dependency, you could just add the old Oracle Linux 7 yum repo and let the dependencies resolve themselves as usual. The .repo file for Linux 7 is located at http://yum.oracle.com/public-yum-ol7.repo, all you have to do is to download that file into /etc/yum.repos.d/. Once that is done, the installation routine remains mostly the same as with Oracle Linux 7 by invoking dnf:

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# curl -O http://yum.oracle.com/public-yum-ol7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16402  100 16402    0     0  81601      0 --:--:-- --:--:-- --:--:-- 81601
[root@localhost yum.repos.d]# cd
[root@localhost ~]# dnf install oracle-database-xe-18c-1.0-1.x86_64.rpm
Oracle Linux 8 Latest (x86_64)                                                                                                         14 kB/s | 2.7 kB     00:00
Oracle Linux 8 Latest (x86_64)                                                                                                         34 MB/s |  47 MB     00:01
Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 8 (x86_64)                                                             41 kB/s | 2.5 kB     00:00
Last metadata expiration check: 0:00:01 ago on Tue 04 May 2021 07:35:20 PM PDT.
Dependencies resolved.
======================================================================================================================================================================
 Package                                         Architecture            Version                                             Repository                          Size
======================================================================================================================================================================
Installing:
 oracle-database-xe-18c                          x86_64                  1.0-1                                               @commandline                       2.3 G
Installing dependencies:
 compat-libcap1                                  x86_64                  1.10-7.el7                                          ol7_latest                          17 k
 compat-libstdc++-33                             x86_64                  3.2.3-72.el7                                        ol7_latest                         190 k
 glibc-devel                                     x86_64                  2.28-127.0.3.el8_3.2                                ol8_baseos_latest                  1.0 M
 ksh                                             x86_64                  20120801-254.0.1.el8                                ol8_appstream                      927 k
 libaio-devel                                    x86_64                  0.3.112-1.el8                                       ol8_baseos_latest                   19 k
 libstdc++-devel                                 x86_64                  8.3.1-5.1.0.2.el8                                   ol8_appstream                      2.1 M
 libxcrypt-devel                                 x86_64                  4.1.1-4.el8                                         ol8_baseos_latest                   25 k
 lm_sensors-libs                                 x86_64                  3.4.0-21.20180522git70f7e08.el8                     ol8_baseos_latest                   59 k
 make                                            x86_64                  1:4.2.1-10.el8                                      ol8_baseos_latest                  498 k
 oracle-database-preinstall-18c                  x86_64                  1.0-1.el7                                           ol7_latest                          18 k
 sysstat                                         x86_64                  11.7.3-5.el8                                        ol8_appstream                      425 k

Transaction Summary
======================================================================================================================================================================
Install  12 Packages

Total size: 2.4 G
Total download size: 5.2 M
Installed size: 5.2 G
Is this ok [y/N]:

But be aware it is not quite that simple. There are two small caveats with this approach!

You will see, as in the output above, that the dependencies are resolved automatically and that three packages (compat-libcap1, compat-libstdc++-33 and, of course, oracle-database-preinstall-18c) are pulled from the old Linux 7 repository, indicated by the ol7_latest repository name. However, once you confirm with y, you will hit another issue:

Transaction Summary
======================================================================================================================================================================
Install  12 Packages

Total size: 2.4 G
Total download size: 5.2 M
Installed size: 5.2 G
Is this ok [y/N]: y
Downloading Packages:
(1/11): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                          93 kB/s |  19 kB     00:00
(2/11): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm                                                                                        117 kB/s |  25 kB     00:00
(3/11): lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64.rpm                                                                    249 kB/s |  59 kB     00:00
(4/11): make-4.2.1-10.el8.x86_64.rpm                                                                                                  6.0 MB/s | 498 kB     00:00
(5/11): sysstat-11.7.3-5.el8.x86_64.rpm                                                                                                13 MB/s | 425 kB     00:00
(6/11): glibc-devel-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                   8.0 MB/s | 1.0 MB     00:00
(7/11): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                           8.4 MB/s | 927 kB     00:00
(8/11): compat-libcap1-1.10-7.el7.x86_64.rpm                                                                                          925 kB/s |  17 kB     00:00
(9/11): oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm                                                                           1.0 MB/s |  18 kB     00:00
(10/11): libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64.rpm                                                                                  22 MB/s | 2.1 MB     00:00
(11/11): compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm                                                                                   95 kB/s | 190 kB     00:02
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                 2.2 MB/s | 5.2 MB     00:02
warning: /var/cache/dnf/ol7_latest-31ccda58762f86b1/packages/compat-libcap1-1.10-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Oracle Linux 8 Latest (x86_64)                                                                                                        3.0 MB/s | 3.1 kB     00:00
GPG key at file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle (0xAD986DA3) is already installed
The GPG keys listed for the "Oracle Linux 8 Latest (x86_64)" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.. Failing package is: compat-libcap1-1.10-7.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Public key for compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm is not installed. Failing package is: compat-libstdc++-33-3.2.3-72.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Public key for oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm is not installed. Failing package is: oracle-database-preinstall-18c-1.0-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED
[root@localhost yum.repos.d]#

This error occurs because the GPG key at /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle is already there, it’s the default Oracle Linux 8 key which is different from the Oracle Linux 7 one. Luckily also there is a simple solution for that, just use the --nogpgcheck option to disable checking for the GPG key.

Note: you could also get hold of the old Oracle Linux 7 GPG key, put it in a different place and modify the public-yum-ol7.repo file to point to that GPG key instead. For simplicity reasons, this blog post will carry on with the --nogpgcheck option, but be warned that this is not advised as a general workaround.

If you go ahead and install the PRM with just --nogpgcheck you will hit another issue during the installation of the Oracle Database 18c XE RPM itself:

  Installing       : oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12
  Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12
Exception java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /opt/oracle/product/18c/dbhomeXE/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
	at java.lang.System.loadLibrary(System.java:1122)
	at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.loadNativeLib(OiipuUnixOps.java:388)
	at oracle.sysman.oii.oiip.osd.unix.OiipuUnixOps.<clinit>(OiipuUnixOps.java:130)
	at oracle.sysman.oii.oiip.oiipg.OiipgEnvironment.getEnv(OiipgEnvironment.java:201)
	at oracle.sysman.oii.oiix.OiixIniPair.instantiateEnvVars(OiixIniPair.java:299)
	at oracle.sysman.oii.oiix.OiixIniPair.updateValue(OiixIniPair.java:230)
	at oracle.sysman.oii.oiix.OiixIniPair.<init>(OiixIniPair.java:148)
	at oracle.sysman.oii.oiix.OiixIniFile.readFile(OiixIniFile.java:809)
	at oracle.sysman.oii.oiix.OiixIniFile.readIniFile(OiixIniFile.java:978)
	at oracle.sysman.oii.oiix.OiixIniFile.getProfileString(OiixIniFile.java:385)
	at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:339)
	at oracle.sysman.oii.oiix.OiixOraparam.getOraparamProfileString(OiixOraparam.java:297)
	at oracle.sysman.oii.oiix.OiixOraparam.usePrereqChecker(OiixOraparam.java:417)
	at oracle.sysman.oii.oiic.OiicSessionContext.setVariables(OiicSessionContext.java:1325)
	at oracle.sysman.oii.oiic.OiicBaseInventoryApp.execute(OiicBaseInventoryApp.java:766)
	at oracle.sysman.oii.oiic.OiicBaseInventoryApp.main_helper(OiicBaseInventoryApp.java:685)
	at oracle.sysman.oii.oiic.OiicDetachHome.main(OiicDetachHome.java:420)

The library libnsl.so.1 is not installed by default on Oracle Linux 8 any longer, but also not listed as a dependency in the oracle-database-preinstall-18c package either. Luckily that library is available as a separate RPM package, simply called libnsl, and just needs to be installed before the Oracle 18c XE RPM. This is because dnf might decide to install the libnsl library after the Oracle 18c XE RPM, which would still cause the above error. So, in order to avoid that, just install it first via dnf install libnsl :

[root@localhost ~]# dnf install libnsl
Oracle Linux 8 Latest (x86_64)                                                                                                         32 MB/s |  47 MB     00:01
Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 8 (x86_64)                                                             26 MB/s |  21 MB     00:00
Last metadata expiration check: 0:00:03 ago on Tue 04 May 2021 08:43:05 PM PDT.
Dependencies resolved.
======================================================================================================================================================================
 Package                          Architecture                     Version                                          Repository                                   Size
======================================================================================================================================================================
Installing:
 libnsl                           x86_64                           2.28-127.0.3.el8_3.2                             ol8_baseos_latest                           100 k

Transaction Summary
======================================================================================================================================================================
Install  1 Package

Total download size: 100 k
Installed size: 160 k
Is this ok [y/N]: y
Downloading Packages:
libnsl-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                                953 kB/s | 100 kB     00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                 910 kB/s | 100 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                              1/1
  Installing       : libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                           1/1
  Running scriptlet: libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                           1/1
  Verifying        : libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                           1/1

Installed:
  libnsl-2.28-127.0.3.el8_3.2.x86_64

Complete!
[root@localhost ~]#

Once that is done, you can proceed with your database installation as pointed out before:

[root@localhost ~]# dnf install oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:00:25 ago on Tue 04 May 2021 08:43:05 PM PDT.
Dependencies resolved.
======================================================================================================================================================================
 Package                                         Architecture            Version                                             Repository                          Size
======================================================================================================================================================================
Installing:
 oracle-database-xe-18c                          x86_64                  1.0-1                                               @commandline                       2.3 G
Installing dependencies:
 compat-libcap1                                  x86_64                  1.10-7.el7                                          ol7_latest                          17 k
 compat-libstdc++-33                             x86_64                  3.2.3-72.el7                                        ol7_latest                         190 k
 glibc-devel                                     x86_64                  2.28-127.0.3.el8_3.2                                ol8_baseos_latest                  1.0 M
 ksh                                             x86_64                  20120801-254.0.1.el8                                ol8_appstream                      927 k
 libaio-devel                                    x86_64                  0.3.112-1.el8                                       ol8_baseos_latest                   19 k
 libstdc++-devel                                 x86_64                  8.3.1-5.1.0.2.el8                                   ol8_appstream                      2.1 M
 libxcrypt-devel                                 x86_64                  4.1.1-4.el8                                         ol8_baseos_latest                   25 k
 lm_sensors-libs                                 x86_64                  3.4.0-21.20180522git70f7e08.el8                     ol8_baseos_latest                   59 k
 make                                            x86_64                  1:4.2.1-10.el8                                      ol8_baseos_latest                  498 k
 oracle-database-preinstall-18c                  x86_64                  1.0-1.el7                                           ol7_latest                          18 k
 sysstat                                         x86_64                  11.7.3-5.el8                                        ol8_appstream                      425 k

Transaction Summary
======================================================================================================================================================================
Install  12 Packages

Total size: 2.4 G
Total download size: 5.2 M
Installed size: 5.2 G
Is this ok [y/N]: N
Operation aborted.
[root@localhost ~]# dnf install --nogpgcheck oracle-database-xe-18c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:00:35 ago on Tue 04 May 2021 08:43:05 PM PDT.
Dependencies resolved.
======================================================================================================================================================================
 Package                                         Architecture            Version                                             Repository                          Size
======================================================================================================================================================================
Installing:
 oracle-database-xe-18c                          x86_64                  1.0-1                                               @commandline                       2.3 G
Installing dependencies:
 compat-libcap1                                  x86_64                  1.10-7.el7                                          ol7_latest                          17 k
 compat-libstdc++-33                             x86_64                  3.2.3-72.el7                                        ol7_latest                         190 k
 glibc-devel                                     x86_64                  2.28-127.0.3.el8_3.2                                ol8_baseos_latest                  1.0 M
 ksh                                             x86_64                  20120801-254.0.1.el8                                ol8_appstream                      927 k
 libaio-devel                                    x86_64                  0.3.112-1.el8                                       ol8_baseos_latest                   19 k
 libstdc++-devel                                 x86_64                  8.3.1-5.1.0.2.el8                                   ol8_appstream                      2.1 M
 libxcrypt-devel                                 x86_64                  4.1.1-4.el8                                         ol8_baseos_latest                   25 k
 lm_sensors-libs                                 x86_64                  3.4.0-21.20180522git70f7e08.el8                     ol8_baseos_latest                   59 k
 make                                            x86_64                  1:4.2.1-10.el8                                      ol8_baseos_latest                  498 k
 oracle-database-preinstall-18c                  x86_64                  1.0-1.el7                                           ol7_latest                          18 k
 sysstat                                         x86_64                  11.7.3-5.el8                                        ol8_appstream                      425 k

Transaction Summary
======================================================================================================================================================================
Install  12 Packages

Total size: 2.4 G
Total download size: 5.2 M
Installed size: 5.2 G
Is this ok [y/N]: y
Downloading Packages:
(1/11): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                          94 kB/s |  19 kB     00:00
(2/11): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm                                                                                        116 kB/s |  25 kB     00:00
(3/11): lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64.rpm                                                                    254 kB/s |  59 kB     00:00
(4/11): make-4.2.1-10.el8.x86_64.rpm                                                                                                  5.0 MB/s | 498 kB     00:00
(5/11): sysstat-11.7.3-5.el8.x86_64.rpm                                                                                               8.8 MB/s | 425 kB     00:00
(6/11): glibc-devel-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                   7.5 MB/s | 1.0 MB     00:00
(7/11): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                           6.6 MB/s | 927 kB     00:00
(8/11): compat-libcap1-1.10-7.el7.x86_64.rpm                                                                                          883 kB/s |  17 kB     00:00
(9/11): oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm                                                                           775 kB/s |  18 kB     00:00
(10/11): compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm                                                                                  6.2 MB/s | 190 kB     00:00
(11/11): libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64.rpm                                                                                  23 MB/s | 2.1 MB     00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                  12 MB/s | 5.2 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                              1/1
  Installing       : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                     1/12
  Running scriptlet: glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                     1/12
  Installing       : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                          2/12
  Installing       : compat-libstdc++-33-3.2.3-72.el7.x86_64                                                                                                     3/12
  Running scriptlet: compat-libstdc++-33-3.2.3-72.el7.x86_64                                                                                                     3/12
  Installing       : compat-libcap1-1.10-7.el7.x86_64                                                                                                            4/12
  Running scriptlet: compat-libcap1-1.10-7.el7.x86_64                                                                                                            4/12
  Installing       : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                    5/12
  Installing       : ksh-20120801-254.0.1.el8.x86_64                                                                                                             6/12
  Running scriptlet: ksh-20120801-254.0.1.el8.x86_64                                                                                                             6/12
  Installing       : make-1:4.2.1-10.el8.x86_64                                                                                                                  7/12
  Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                                                                                  7/12
  Installing       : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                      8/12
  Running scriptlet: lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                      8/12
  Installing       : sysstat-11.7.3-5.el8.x86_64                                                                                                                 9/12
  Running scriptlet: sysstat-11.7.3-5.el8.x86_64                                                                                                                 9/12
  Installing       : libaio-devel-0.3.112-1.el8.x86_64                                                                                                          10/12
  Running scriptlet: oracle-database-preinstall-18c-1.0-1.el7.x86_64                                                                                            11/12
  Installing       : oracle-database-preinstall-18c-1.0-1.el7.x86_64                                                                                            11/12
  Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12
  Installing       : oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12
  Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database XE, optionally modify the parameters in '/etc/sysconfig/oracle-xe-18c.conf' and then execute '/etc/init.d/oracle-xe-18c configure' as root.

  Running scriptlet: oracle-database-preinstall-18c-1.0-1.el7.x86_64                                                                                            12/12
  Running scriptlet: oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12
  Verifying        : libaio-devel-0.3.112-1.el8.x86_64                                                                                                           1/12
  Verifying        : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                          2/12
  Verifying        : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                      3/12
  Verifying        : make-1:4.2.1-10.el8.x86_64                                                                                                                  4/12
  Verifying        : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                     5/12
  Verifying        : ksh-20120801-254.0.1.el8.x86_64                                                                                                             6/12
  Verifying        : sysstat-11.7.3-5.el8.x86_64                                                                                                                 7/12
  Verifying        : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                    8/12
  Verifying        : compat-libcap1-1.10-7.el7.x86_64                                                                                                            9/12
  Verifying        : compat-libstdc++-33-3.2.3-72.el7.x86_64                                                                                                    10/12
  Verifying        : oracle-database-preinstall-18c-1.0-1.el7.x86_64                                                                                            11/12
  Verifying        : oracle-database-xe-18c-1.0-1.x86_64                                                                                                        12/12

Installed:
  compat-libcap1-1.10-7.el7.x86_64                       compat-libstdc++-33-3.2.3-72.el7.x86_64                       glibc-devel-2.28-127.0.3.el8_3.2.x86_64
  ksh-20120801-254.0.1.el8.x86_64                        libaio-devel-0.3.112-1.el8.x86_64                             libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64
  libxcrypt-devel-4.1.1-4.el8.x86_64                     lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64        make-1:4.2.1-10.el8.x86_64
  oracle-database-preinstall-18c-1.0-1.el7.x86_64        oracle-database-xe-18c-1.0-1.x86_64                           sysstat-11.7.3-5.el8.x86_64

Complete!
[root@localhost ~]#

Once the RPM itself is installed, just execute the configuration script as prompted: /etc/init.d/oracle-xe-18c configure

[root@localhost ~]# /etc/init.d/oracle-xe-18c configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.
Enter SYS user password:
*******
Enter SYSTEM user password:
*******
Enter PDBADMIN User Password:
******
Prepare for db operation
7% complete
Copying database files
29% complete
Creating and starting Oracle instance
30% complete
31% complete
34% complete
38% complete
41% complete
43% complete
Completing Database Creation
47% complete
50% complete
Creating Pluggable Databases
54% complete
71% complete
Executing Post Configuration Actions
93% complete
Running Custom Scripts
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/XE.
Database Information:
Global Database Name:XE
System Identifier(SID):XE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.

Connect to Oracle Database using one of the connect strings:
     Pluggable database: localhost.localdomain/XEPDB1
     Multitenant container database: localhost.localdomain
Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE
[root@localhost ~]#

And voilà, you now have Oracle 18c XE running on Oracle Linux 8.

Solution #2: manually install the dependencies and skip dependencies resolution

Another approach could be that you don’t even bother to install the oracle-database-preinstall-18c package but install all dependencies directly yourself. While dnf does not allow you to skip dependencies, the underlying rpm command does have a --nodeps option that does not do a dependency check before installing or upgrading a package. Based on the output above, we know that the preinstall RPM is looking for the following dependencies: compat-libcap1, compat-libstdc++-33, glibc-devel, ksh, libaio-devel, libstdc++-devel, libxcrypt-devel, lm_sensors-libs, make, sysstat and we know that there is one missing dependency libnsl. The two compat-* packages are actually no longer available but luckily also not needed anymore on Oracle Linux 8. compat-libcap1 provided newer POSIX.1e capabilities and compat-libstdc++-33 a compatibility standard C++ library from GCC 3.3.4 back on Linux 7. However, Oracle Linux 8 already has newer versions for both of them and hence they are no longer required. You will also see them having disappeared from the list of dependencies in the oracle-database-preinstall-19c package (just do a dnf repoquery --requires oracle-database-preinstall-19c).

So, all you have to do is to install the dependencies separately via dnf install glibc-devel ksh libaio-devel libstdc++-devel libxcrypt-devel lm_sensors-libs make sysstat libnsl:

[root@localhost ~]# dnf install glibc-devel ksh libaio-devel libstdc++-devel libxcrypt-devel lm_sensors-libs make sysstat libnsl
Last metadata expiration check: 2:38:38 ago on Tue 04 May 2021 06:42:41 PM PDT.
Dependencies resolved.
======================================================================================================================================================================
 Package                              Architecture                Version                                                Repository                              Size
======================================================================================================================================================================
Installing:
 glibc-devel                          x86_64                      2.28-127.0.3.el8_3.2                                   ol8_baseos_latest                      1.0 M
 ksh                                  x86_64                      20120801-254.0.1.el8                                   ol8_appstream                          927 k
 libaio-devel                         x86_64                      0.3.112-1.el8                                          ol8_baseos_latest                       19 k
 libnsl                               x86_64                      2.28-127.0.3.el8_3.2                                   ol8_baseos_latest                      100 k
 libstdc++-devel                      x86_64                      8.3.1-5.1.0.2.el8                                      ol8_appstream                          2.1 M
 libxcrypt-devel                      x86_64                      4.1.1-4.el8                                            ol8_baseos_latest                       25 k
 lm_sensors-libs                      x86_64                      3.4.0-21.20180522git70f7e08.el8                        ol8_baseos_latest                       59 k
 make                                 x86_64                      1:4.2.1-10.el8                                         ol8_baseos_latest                      498 k
 sysstat                              x86_64                      11.7.3-5.el8                                           ol8_appstream                          425 k

Transaction Summary
======================================================================================================================================================================
Install  9 Packages

Total download size: 5.1 M
Installed size: 19 M
Is this ok [y/N]: y
Downloading Packages:
(1/9): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                           78 kB/s |  19 kB     00:00
(2/9): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm                                                                                         104 kB/s |  25 kB     00:00
(3/9): lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64.rpm                                                                     211 kB/s |  59 kB     00:00
(4/9): libnsl-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                         1.4 MB/s | 100 kB     00:00
(5/9): make-4.2.1-10.el8.x86_64.rpm                                                                                                   3.8 MB/s | 498 kB     00:00
(6/9): glibc-devel-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                    6.7 MB/s | 1.0 MB     00:00
(7/9): sysstat-11.7.3-5.el8.x86_64.rpm                                                                                                7.6 MB/s | 425 kB     00:00
(8/9): libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64.rpm                                                                                    19 MB/s | 2.1 MB     00:00
(9/9): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                            354 kB/s | 927 kB     00:02
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                 1.7 MB/s | 5.1 MB     00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                              1/1
  Installing       : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                      1/9
  Running scriptlet: glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                      1/9
  Installing       : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                           2/9
  Installing       : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                       3/9
  Running scriptlet: lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                       3/9
  Installing       : sysstat-11.7.3-5.el8.x86_64                                                                                                                  4/9
  Running scriptlet: sysstat-11.7.3-5.el8.x86_64                                                                                                                  4/9
  Installing       : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                     5/9
  Installing       : ksh-20120801-254.0.1.el8.x86_64                                                                                                              6/9
  Running scriptlet: ksh-20120801-254.0.1.el8.x86_64                                                                                                              6/9
  Installing       : libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                           7/9
  Installing       : make-1:4.2.1-10.el8.x86_64                                                                                                                   8/9
  Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                                                                                   8/9
  Installing       : libaio-devel-0.3.112-1.el8.x86_64                                                                                                            9/9
  Running scriptlet: libaio-devel-0.3.112-1.el8.x86_64                                                                                                            9/9
  Verifying        : libaio-devel-0.3.112-1.el8.x86_64                                                                                                            1/9
  Verifying        : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                           2/9
  Verifying        : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                       3/9
  Verifying        : make-1:4.2.1-10.el8.x86_64                                                                                                                   4/9
  Verifying        : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                      5/9
  Verifying        : libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                           6/9
  Verifying        : ksh-20120801-254.0.1.el8.x86_64                                                                                                              7/9
  Verifying        : sysstat-11.7.3-5.el8.x86_64                                                                                                                  8/9
  Verifying        : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                     9/9

Installed:
  glibc-devel-2.28-127.0.3.el8_3.2.x86_64                           ksh-20120801-254.0.1.el8.x86_64                     libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-127.0.3.el8_3.2.x86_64                                libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64            libxcrypt-devel-4.1.1-4.el8.x86_64
  lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64            make-1:4.2.1-10.el8.x86_64                          sysstat-11.7.3-5.el8.x86_64

Complete!
[root@localhost ~]#

And install the Oracle Database 18c XE via rpm -i --nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm:

[root@localhost ~]# rpm -i --nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm
warning: oracle-database-xe-18c-1.0-1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure Oracle Database XE, optionally modify the parameters in '/etc/sysconfig/oracle-xe-18c.conf' and then execute '/etc/init.d/oracle-xe-18c configure' as root.
[root@localhost ~]#

Followed by the configuration script again /etc/init.d/oracle-xe-18c configure.

Solution #2.5: manually install all dependencies and skip dependencies resolution

If you want to make sure that you truly get all dependencies, you can apply a tiny little trick here. If you have the OL7 repo configured, you can use dnf to see all dependencies of oracle-database-preinstall-18c via dnf repoquery --requires oracle-database-preinstall-18c:

[root@localhost yum.repos.d]# dnf repoquery --requires oracle-database-preinstall-18c
Oracle Linux 8 Latest (x86_64)                                                                                                         30 MB/s |  47 MB     00:01
Latest Unbreakable Enterprise Kernel Release 5 for Oracle Linux 8 (x86_64)                                                             27 MB/s |  21 MB     00:00
Last metadata expiration check: 0:00:04 ago on Tue 04 May 2021 09:53:19 PM PDT.
/bin/bash
/bin/sh
/etc/redhat-release
bc
bind-utils
binutils
compat-libcap1
compat-libstdc++-33
ethtool
glibc
glibc-devel
initscripts
ksh
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
make
module-init-tools
net-tools
nfs-utils
openssh-clients
pam
procps
psmisc
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
smartmontools
sysstat
unzip
util-linux-ng
xorg-x11-utils
xorg-x11-xauth

So, to play it safe, you could just make sure to install all of these packages explicitly, minus the two compat-* packages and the rpmlib components, plus the libnsl package. The result will remain the same, but this way you have all dependencies that are actually needed, whether they are already installed or not: dnf install /bin/bash /bin/sh /etc/redhat-release bc bind-utils binutils ethtool glibc glibc-devel initscripts ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make module-init-tools net-tools nfs-utils openssh-clients pam procps psmisc smartmontools sysstat unzip util-linux-ng xorg-x11-utils xorg-x11-xauth libnsl

[root@localhost ~]# dnf install /bin/bash /bin/sh /etc/redhat-release bc bind-utils binutils ethtool glibc glibc-devel initscripts ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make module-init-tools net-tools nfs-utils openssh-clients pam procps psmisc smartmontools sysstat unzip util-linux-ng xorg-x11-utils xorg-x11-xauth libnsl
Last metadata expiration check: 3:16:24 ago on Tue 04 May 2021 06:42:41 PM PDT.
Package bash-4.4.19-12.el8.x86_64 is already installed.
Package bash-4.4.19-12.el8.x86_64 is already installed.
Package oraclelinux-release-8:8.3-1.0.4.el8.x86_64 is already installed.
Package bc-1.07.1-5.el8.x86_64 is already installed.
Package bind-utils-32:9.11.20-5.el8_3.1.x86_64 is already installed.
Package binutils-2.30-79.0.1.el8.x86_64 is already installed.
Package ethtool-2:5.0-2.el8.x86_64 is already installed.
Package glibc-2.28-127.0.3.el8_3.2.x86_64 is already installed.
Package initscripts-10.00.9-1.el8.x86_64 is already installed.
Package libaio-0.3.112-1.el8.x86_64 is already installed.
Package libgcc-8.3.1-5.1.0.2.el8.x86_64 is already installed.
Package libstdc++-8.3.1-5.1.0.2.el8.x86_64 is already installed.
Package kmod-25-16.0.1.el8_3.1.x86_64 is already installed.
Package net-tools-2.0-0.52.20160912git.el8.x86_64 is already installed.
Package nfs-utils-1:2.3.3-35.el8.x86_64 is already installed.
Package openssh-clients-8.0p1-5.el8.x86_64 is already installed.
Package pam-1.3.1-11.el8.x86_64 is already installed.
Package procps-ng-3.3.15-3.el8_3.1.x86_64 is already installed.
Package psmisc-23.1-5.el8.x86_64 is already installed.
Package smartmontools-1:7.1-1.el8.x86_64 is already installed.
Package unzip-6.0-43.el8.x86_64 is already installed.
Package util-linux-2.32.1-24.el8.x86_64 is already installed.
Package xorg-x11-utils-7.5-28.el8.x86_64 is already installed.
Package xorg-x11-xauth-1:1.0.9-12.el8.x86_64 is already installed.
Dependencies resolved.
======================================================================================================================================================================
 Package                              Architecture                Version                                                Repository                              Size
======================================================================================================================================================================
Installing:
 glibc-devel                          x86_64                      2.28-127.0.3.el8_3.2                                   ol8_baseos_latest                      1.0 M
 ksh                                  x86_64                      20120801-254.0.1.el8                                   ol8_appstream                          927 k
 libaio-devel                         x86_64                      0.3.112-1.el8                                          ol8_baseos_latest                       19 k
 libstdc++-devel                      x86_64                      8.3.1-5.1.0.2.el8                                      ol8_appstream                          2.1 M
 make                                 x86_64                      1:4.2.1-10.el8                                         ol8_baseos_latest                      498 k
 sysstat                              x86_64                      11.7.3-5.el8                                           ol8_appstream                          425 k
Installing dependencies:
 libxcrypt-devel                      x86_64                      4.1.1-4.el8                                            ol8_baseos_latest                       25 k
 lm_sensors-libs                      x86_64                      3.4.0-21.20180522git70f7e08.el8                        ol8_baseos_latest                       59 k

Transaction Summary
======================================================================================================================================================================
Install  8 Packages

Total download size: 5.0 M
Installed size: 19 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm                                                                                          88 kB/s |  25 kB     00:00
(2/8): lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64.rpm                                                                     195 kB/s |  59 kB     00:00
(3/8): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                           62 kB/s |  19 kB     00:00
(4/8): make-4.2.1-10.el8.x86_64.rpm                                                                                                   6.2 MB/s | 498 kB     00:00
(5/8): sysstat-11.7.3-5.el8.x86_64.rpm                                                                                                 11 MB/s | 425 kB     00:00
(6/8): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                            7.2 MB/s | 927 kB     00:00
(7/8): glibc-devel-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                    7.7 MB/s | 1.0 MB     00:00
(8/8): libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64.rpm                                                                                    21 MB/s | 2.1 MB     00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                 9.7 MB/s | 5.0 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                              1/1
  Installing       : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                      1/8
  Running scriptlet: glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                      1/8
  Installing       : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                           2/8
  Installing       : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                       3/8
  Running scriptlet: lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                       3/8
  Installing       : sysstat-11.7.3-5.el8.x86_64                                                                                                                  4/8
  Running scriptlet: sysstat-11.7.3-5.el8.x86_64                                                                                                                  4/8
  Installing       : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                     5/8
  Installing       : ksh-20120801-254.0.1.el8.x86_64                                                                                                              6/8
  Running scriptlet: ksh-20120801-254.0.1.el8.x86_64                                                                                                              6/8
  Installing       : make-1:4.2.1-10.el8.x86_64                                                                                                                   7/8
  Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                                                                                   7/8
  Installing       : libaio-devel-0.3.112-1.el8.x86_64                                                                                                            8/8
  Running scriptlet: libaio-devel-0.3.112-1.el8.x86_64                                                                                                            8/8
  Verifying        : libaio-devel-0.3.112-1.el8.x86_64                                                                                                            1/8
  Verifying        : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                           2/8
  Verifying        : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                       3/8
  Verifying        : make-1:4.2.1-10.el8.x86_64                                                                                                                   4/8
  Verifying        : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                      5/8
  Verifying        : ksh-20120801-254.0.1.el8.x86_64                                                                                                              6/8
  Verifying        : sysstat-11.7.3-5.el8.x86_64                                                                                                                  7/8
  Verifying        : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                     8/8

Installed:
  glibc-devel-2.28-127.0.3.el8_3.2.x86_64             ksh-20120801-254.0.1.el8.x86_64               libaio-devel-0.3.112-1.el8.x86_64
  libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64            libxcrypt-devel-4.1.1-4.el8.x86_64            lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64
  make-1:4.2.1-10.el8.x86_64                          sysstat-11.7.3-5.el8.x86_64

Complete!
[root@localhost yum.repos.d]#

Then again proceed with the direct rpm install via: rpm -i –nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm

Solution #3: install the 19c preinstall RPM, missing dependencies and the Oracle 18c XE RPM

There is another option that you could pursue. The delta between Oracle Database 18c and 19c is actually not that big. So you could just install the available oracle-database-preinstall-19c package, which has the advantage of setting up the oracle OS user and a couple of other things, and install the missing libnsl package and last but not least perform the manual rpm install of Oracle Database 18c XE.

On Oracle Linux, you can install both, the 19c preinstall RPM and the libnsl package in one go via: dnf install oracle-database-preinstall-19c libnsl. For other Linux distributions, you will first have to download the preinstall RPM from https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm and then follow the same procedure:

[root@localhost ~]# dnf install oracle-database-preinstall-19c libnsl
Last metadata expiration check: 4:16:23 ago on Tue 04 May 2021 06:42:41 PM PDT.
Dependencies resolved.
======================================================================================================================================================================
 Package                                         Architecture            Version                                             Repository                          Size
======================================================================================================================================================================
Installing:
 libnsl                                          x86_64                  2.28-127.0.3.el8_3.2                                ol8_baseos_latest                  100 k
 oracle-database-preinstall-19c                  x86_64                  1.0-2.el8                                           ol8_baseos_latest                   31 k
Installing dependencies:
 glibc-devel                                     x86_64                  2.28-127.0.3.el8_3.2                                ol8_baseos_latest                  1.0 M
 ksh                                             x86_64                  20120801-254.0.1.el8                                ol8_appstream                      927 k
 libaio-devel                                    x86_64                  0.3.112-1.el8                                       ol8_baseos_latest                   19 k
 libstdc++-devel                                 x86_64                  8.3.1-5.1.0.2.el8                                   ol8_appstream                      2.1 M
 libxcrypt-devel                                 x86_64                  4.1.1-4.el8                                         ol8_baseos_latest                   25 k
 lm_sensors-libs                                 x86_64                  3.4.0-21.20180522git70f7e08.el8                     ol8_baseos_latest                   59 k
 make                                            x86_64                  1:4.2.1-10.el8                                      ol8_baseos_latest                  498 k
 sysstat                                         x86_64                  11.7.3-5.el8                                        ol8_appstream                      425 k

Transaction Summary
======================================================================================================================================================================
Install  10 Packages

Total download size: 5.1 M
Installed size: 19 M
Is this ok [y/N]: y
Downloading Packages:
(1/10): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                          41 kB/s |  19 kB     00:00
(2/10): libxcrypt-devel-4.1.1-4.el8.x86_64.rpm                                                                                         55 kB/s |  25 kB     00:00
(3/10): lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64.rpm                                                                    124 kB/s |  59 kB     00:00
(4/10): libnsl-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                        2.3 MB/s | 100 kB     00:00
(5/10): oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm                                                                           1.1 MB/s |  31 kB     00:00
(6/10): make-4.2.1-10.el8.x86_64.rpm                                                                                                  4.7 MB/s | 498 kB     00:00
(7/10): glibc-devel-2.28-127.0.3.el8_3.2.x86_64.rpm                                                                                   8.7 MB/s | 1.0 MB     00:00
(8/10): sysstat-11.7.3-5.el8.x86_64.rpm                                                                                               7.6 MB/s | 425 kB     00:00
(9/10): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                           6.3 MB/s | 927 kB     00:00
(10/10): libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64.rpm                                                                                  12 MB/s | 2.1 MB     00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                 6.8 MB/s | 5.1 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                              1/1
  Installing       : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                     1/10
  Running scriptlet: glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                     1/10
  Installing       : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                          2/10
  Installing       : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                    3/10
  Installing       : ksh-20120801-254.0.1.el8.x86_64                                                                                                             4/10
  Running scriptlet: ksh-20120801-254.0.1.el8.x86_64                                                                                                             4/10
  Installing       : libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                          5/10
  Installing       : make-1:4.2.1-10.el8.x86_64                                                                                                                  6/10
  Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                                                                                  6/10
  Installing       : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                      7/10
  Running scriptlet: lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                      7/10
  Installing       : sysstat-11.7.3-5.el8.x86_64                                                                                                                 8/10
  Running scriptlet: sysstat-11.7.3-5.el8.x86_64                                                                                                                 8/10
  Installing       : libaio-devel-0.3.112-1.el8.x86_64                                                                                                           9/10
  Running scriptlet: oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                            10/10
  Installing       : oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                            10/10
  Running scriptlet: oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                            10/10
  Verifying        : libaio-devel-0.3.112-1.el8.x86_64                                                                                                           1/10
  Verifying        : libxcrypt-devel-4.1.1-4.el8.x86_64                                                                                                          2/10
  Verifying        : lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64                                                                                      3/10
  Verifying        : make-1:4.2.1-10.el8.x86_64                                                                                                                  4/10
  Verifying        : glibc-devel-2.28-127.0.3.el8_3.2.x86_64                                                                                                     5/10
  Verifying        : libnsl-2.28-127.0.3.el8_3.2.x86_64                                                                                                          6/10
  Verifying        : oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                             7/10
  Verifying        : ksh-20120801-254.0.1.el8.x86_64                                                                                                             8/10
  Verifying        : sysstat-11.7.3-5.el8.x86_64                                                                                                                 9/10
  Verifying        : libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64                                                                                                   10/10

Installed:
  glibc-devel-2.28-127.0.3.el8_3.2.x86_64                       ksh-20120801-254.0.1.el8.x86_64                 libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-127.0.3.el8_3.2.x86_64                            libstdc++-devel-8.3.1-5.1.0.2.el8.x86_64        libxcrypt-devel-4.1.1-4.el8.x86_64
  lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64        make-1:4.2.1-10.el8.x86_64                      oracle-database-preinstall-19c-1.0-2.el8.x86_64
  sysstat-11.7.3-5.el8.x86_64

Complete!
[root@localhost ~]#

Once that is complete, you can install the Oracle 18c XE rpm again via: rpm -i --nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm.

15 thoughts on “How to install Oracle Database 18c XE on Oracle Linux 8

  1. hi, i tried that on ol8 with Solution #2
    No server component kernel parameter requirements?
    What about ‘dnf install tuned-profiles-oracle’ and ‘tuned-adm profile oracle’?
    Best regards

    Like

      1. Nice to hear from you,
        no, i got no error, but through my work with XE11 in openSUSE i found out
        that all parameters ( numa=, transparent_hugepage=, SYSCTLs, limits)
        from the preinstallation 11gR2 gave a big peformance advantage to the windows application
        which is accessing the database.
        So, if there is no preinstallation for 18c i would set this parameters by a shell-script
        before installing XE18 independent which linux i will use.
        Or using the ‘dnf install tuned-profiles-oracle’ and ‘tuned-adm profile oracle’ comands.

        Other people told me that the oracle support is quering these settings if you have a contract/license
        and if they are not set the support will end the phone.

        Best regards

        Like

        1. Hi Achim,

          I’m afraid I still don’t fully understand. Is your question where to find the preinstall PRM or something else?
          You can find the 18c preinstall RPM for Linux 7 here: https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

          For Linux 8 that preinstall RPM does not exist, as Linux 8 released after Oracle Database 18c.

          Btw, it might make sense to start right away with 21c XE which is the latest version of Oracle XE.

          Thanks,

          Like

          1. Ok, if you are using ‘rpm -i –nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm’, you will not have the preinstallation-package installed.
            And then you will not have the limits, sysctls, kernel-parameters, the user and groups,etc
            Working many years with XE10 and XE11 i see performance improvement in using these valaues.
            I am working currently on a detailled description what the preinstallation-package does and how i set it
            with a shellscript and i will send it to you.
            Thanks

            Like

  2. Hi Gerald

    I have one doubt/question and a problem …. in the very first TL;DR the 19c preinstall is missing … why?
    My problem is, after following those 3 points at tl;dr without any noticed issue, that I got no $ORACLE_HOME/dbs directory where the “init.ora” and “spFileXE.ora” used to live … even more … I got no /opt/oracle/oradata/dbconfig directory neither ….

    Like

    1. Hi Antonio,

      I’m not sure I fully understand.
      The 19c-preinstall is missing because this is a post about installing Oracle Database 18c, hence the 18c-preinstall RPM is used, not the 19c one.

      Also, there shouldn’t be any /opt/oracle/oradata/dbconfig directory, as that is not part of a standard Oracle Database installation but rather used in a dockerized environment. It is an attribute from the Docker run script rather than part of the Oracle Database installation.

      Thanks,

      Like

  3. Yo, this page should be the #1 search result for anything related to “installing Oracle XE on Linux”. Thank you for all of the process and details. Good stuff!

    Like

  4. Hello Gerald,
    Thank you very much for your contribution !
    I already could install XE18c on AWS RHEL 9 following your instructions.
    In simple words for you…Master 🙂
    Regards.
    Miguel Roldán

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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