Install Oracle 19c on Rockylinux Almalinux Centos8

Everything Linux, A.I, IT News, DataOps, Open Source and more delivered right to you.
Subscribe
"The best Linux newsletter on the web"

Introduction

Oracle 19c server Configuration Checklist for Oracle Database Installation

  • At least 1 GB of space in the /tmp directory required by oracle 19c.
  • Between 1 GB and 2 GB: 1.5 times the size of the RAM . Between 2 GB and 16 GB: Equal to the size of the RAM. More than 16 GB: 16 GB. Note: If you enable HugePages for your Linux servers, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.
  • Between 8 GB and 16 GB: Equal to the size of the RAM. More than 16 GB: 16 GB. Note: If you enable HugePages for your Linux servers, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.
  • For upgrades, the installer detects an existing oraInventory directory from the /etc/oraInst.loc file, and uses the existing oraInventory. For new installs, if you have not configured an oraInventory directory, then you can specify the oraInventory directory during the software installation and Oracle Universal Installer will set up the software directories for you. The Oracle inventory is one directory level up from the Oracle base for the Oracle software installation and designates the installation owner’s primary group as the Oracle 19c inventory group. Ensure that the oraInventory path that you specify is in compliance with the Oracle Optimal Flexible Architecture recommendations. The Oracle Inventory directory is the central inventory of Oracle software installed on your system. Users who have the Oracle Inventory group as their primary group are granted the OINSTALL privilege to write to the central inventory. The OINSTALL group must be the primary group of all Oracle software installation owners on the server. It should be writable by any Oracle installation owner.

Download Software

Download the Oracle software from OTN or MOS depending on your support status. For other Linux tutorials.

OTN: Oracle Database 19c (19.3) Software (64-bit)

Setup permission requirements for oracle 19c

Add the following lines to the “/etc/sysctl.conf” file.

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

Run one of the following commands to change the current kernel parameters, depending on which file you edited.

/sbin/sysctl -p

Adding security limits

Add the following lines to a file called “/etc/security/limits.d/oracle.conf” file.

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

Installing oracle 19c preinstall

Download and install the package

# curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm
# yum localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
# yum localinstall compat-libcap1-1.10-7.el7.x86_64.rpm
# dnf -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

Create an environment setting file for oracle 19c

# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP

export ORACLE_HOSTNAME=$HOSTNAME
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.3.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata

export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

Create a startup and stop shell script

#!/bin/bash
. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbstart \$ORACLE_HOME
#!/bin/bash
. /home/oracle/scripts/setEnv.sh

export ORAENV_ASK=NO
. oraenv
export ORAENV_ASK=YES

dbshut \$ORACLE_HOME

Install Oracle 19c Database

Execute export DISPLAY for xterm windows to pull up in oracle user

DISPLAY=$HOSTNAME:0.0; export DISPLAY

Unzip the oracle 19c installer to the path you want to install

unzip -oq /path/to/software/LINUX.X64_193000_db_home.zip

Execute this export to detect the os as oracle Linux

export CV_ASSUME_DISTID=RHEL7.6

Now, run the installer using runInstaller script

./runInstaller

Follow all steps in sequence in the images

Now execute root and inventory script

Everything Linux, A.I, IT News, DataOps, Open Source and more delivered right to you.
Subscribe
"The best Linux newsletter on the web"
Mel
Melhttps://unixcop.com
Unix/Linux Guru and FOSS supporter

1 COMMENT

  1. I’m trying to install Oracle on Alma Linux 9.1 :
    # cat /etc/redhat-release
    AlmaLinux release 9.1 (Lime lynx)
    It keeps failing by putting this in the install log file :
    ld : cannot find -lcntshcore
    I’m not sure if I have the setting of CV_ASSUME_DISTID wrong (I’ve tried several) or if there’s some dependency missing?

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest articles

Join us on Facebook