In this page we are going to explain how to install a Grid infrastructure, in this case Oracle Restart 21c on Oracle Linux 8 with ASM (udev). The installation is performed on a single server.
In this case we start from the following configuration:
Memory: 9G
Operating system: Linux 8.
1 Disk for software 80 GB
2 Data disks 25G.
2 Disks of 15g for the FRA (Flash recovery area).
Steps:
OPERATING SYSTEM CONFIGURATION - HOST NAME / IP ADDRESS
Before starting the installation, it is necessary to make a series of configurations in our architecture as suitable as possible to be able to launch the installation of the Oracle binaries in the best possible way, either the Oracle Grid Infraestrucute part or the Oracle Database part.
First we must make modifications in the /etc/hosts file to introduce the Ip and the name of the machine where the installation is going to be performed.

In this document you can check the minimum requirements needed to perform the installation:
Download Software
We are going to download the Linux 21c binaries that will be installed later, we have to download the Grid Infrestrcuture binaries as well as the database binaries.
They can be downloaded from the following address:
https://www.oracle.com/database/technologies/oracle21c-linux-downloads.html
The binaries are the following (we can download the rpm or the installers, in this case installers)
LINUX.X64_213000_db_home.zip (Oracle Database 21.3)
LINUX.X64_213000_grid_home.zip (Oracle Grid 21.3)
Installation Packages
Before starting the installation we must be sure that we have installed the necessary packages to perform the binary insertion of both Oracle Infrastructure and Database. This can be done automatically or manually.
Automatic installation
In our case we are going to install the packages automatically as follows, as root we launch the following command:
dnf install -y oracle-database-preinstall-21c
If there are problems, we can download the rpm from the following address and install them manually:
https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/index.html
If you have not used "oracle-database-preinstall-21c" to perform the installation of all pre-requisites, you will have to manually perform the following tasks before performing a clean install:
DISK SPACE AND SWAP
Temporary space, SWAP memory and huge pages configuration (optional, recommended).
WAP | If the RAM memory is between 4 and 16 GB, the SWAP will be equal to the size of the RAM memory. If the RAM memory is larger than 16 GB, the SWAP will be 16 GB. |
/tmp | At least 1 GB free in the /tmp filesystem |
/u01 | At least 80 GB. In this FS will go the binaries of the GRID and RDBMS infrastructure. |
Checking that the huge pages are correctly configured to host all the SGAs of the databases to be deployed on the server, including the memory used by the ASM Grid database, is a good recommendation, although its configuration is not mandatory.
Add in the following lines in the file "/etc/sysctl.conf" or in the file "99-oracle.conf"".
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
As root run the following command for the kernel level changes to take effect.
/sbin/sysctl -p /sbin/sysctl -p /etc/sysctl.d/99-oracle.conf
Add the following parameters in the file named ""/etc/security/limits.d/oracle-database-preinstall-21c.conf"".
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
oracle soft data unlimited
oracle hard data unlimited
Manually install the following packages that are required for the installation:
dnf install -y bc dnf install -y binutils dnf install -y compat-openssl10 dnf install -y elfutils-libelf dnf install -y glibc dnf install -y glibc-devel dnf install -y ksh dnf install -y libaio dnf install -y libXrender dnf install -y libX11 dnf install -y libXau dnf install -y libXi dnf install -y libXtst dnf install -y libgcc dnf install -y libnsl dnf install -y libstdc++ dnf install -y libxcb dnf install -y libibverbs dnf install -y make dnf install -y policycoreutils dnf install -y policycoreutils-python-utils dnf install -y smartmontools dnf install -y sysstat
If you have not created the groups and users, you must do it before starting the installation. You can install with two users (grid for the Infrastructure part, oracle for Database), or use the same user (oracle) for both installations. In this test environment we will use oracle for both installations.
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper #groupadd -g 54324 backupdba #groupadd -g 54325 dgdba #groupadd -g 54326 kmdba #groupadd -g 54327 asmdba #groupadd -g 54328 asmoper #groupadd -g 54329 asmadmin #groupadd -g 54330 racdba useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle useradd -u 54322 -g oinstall -G asmadmin,asmdba,racdba oracle
DIRECTORY CREATION
If it is the first time that the installation is going to be performed, we must create the necessary directories to start the installation, for this we need to create the Oracle Base and Oracle Inventory directories, as well as the installation directories.
In our case, we are going to perform the installation on the directory:
/u01/app/oracle/21.0.0.0
[oracle@oracle-21] mkdir -p /u01/app/oracle/oraInventory
[oracle @oracle-21] mkdir -p /u01/app/oracle/21.0.0/grid
[oracle @oracle-21] mkdir -p /u01/app/oracle/21.0.0/oracle
Installation of the Grid Infrastructure software
At this point we can start the installation of the software, first we will install the Grid Infrastructure software ( /u01/app/oracle/21.0.0/grid). To launch the installation we must launch the following command:
We launch the installation as follows:
[oracle@oracle-21 grid]$ ./gridSetup.sh


In our case we chose Normal redundancy in the diskgroups. Therefore, we must choose disks of the same size, otherwise you will receive an error indicating this situation.

In this case we have 2 disks of 25Gb for data that we will choose for the disgroup that we will call DATA and 2 of 15Gb for the recovery area or FRA.


Enter the password for SYS / ASMSNMP. It can be different or the same.

Configuration screen, register in Oracle Enterprise manager. We leave it blank, it is possible to make the configuration later if necessary.

Privileges at SSOO level to the different groups of the system.

We specify the Oracle base location.

Oracle inventory location:

At this point we can add the root credentials so that the necessary operations for the environment configuration are performed automatically. In this case we uncheck the installation to launch the configuration scripts manually once the installation of the grid software is finished.
The installer verifies that all the prerequisites of the installation are correct, indicating us if some prerequisite is not fulfilled so that it is corrected, although there is an option to obviate them, it is recommended to solve the problems that the installation is indicating us to make a "clean" installation and to avoid later problems.
Installation summary:

We launch the installation. The installer will indicate the progress.

When it finishes it will ask us to execute the configuration scripts (root), since previously we did not indicate the credentials of this user.

Once executed, the last screen will be displayed indicating that the installation has been successfully completed.

With this command /u01/app/oracle/21.0.0/grid/bin/crsctl status res -t you can check that the installation was successful, you will receive an output very similar to this one.

Database software installation
First we unzip the following .zip file with the user oracle
unzip LINUX.X64_213000_db_home.zip
Once the software is unzipped, we launch the installer as follows:
[oracle@localhost oracle]$ ./runInstaller
In this screen, we choose the second option:

We chose the first option:

Choose the Enterprise Edition option.

Now we choose the Oracle base location.

We leave the default users:

These data are left blank.

Once the prerequisites have been passed, this screen will appear:

Installation progress:

Once the installation is finished, we run the configuration script with root.

With these steps we reach the end of the installation.