Installation of Oracle Database 19c on RHEL 7

OS: RHEL 7.x (64-bit)

User: oracle

Install type: Single Instance – Enterprise/Standard Edition

Filesystem based (not ASM)

You have root access when required

PHASE 1: Pre-Installation (Root User)

1️⃣ Verify OS & Kernel

cat /etc/redhat-release
uname -r

Oracle 19c is certified on RHEL 7 ✔️


2️⃣ Set Hostname

hostnamectl set-hostname oradb19c

Add to /etc/hosts:

127.0.0.1   localhost
192.168.1.10 oradb19c

3️⃣ Disable SELinux & Firewall (Recommended for Install)

setenforce 0
vi /etc/selinux/config
SELINUX=disabled

Stop firewall:

systemctl stop firewalld
systemctl disable firewalld

Reboot:

reboot

4️⃣ Install Required Packages

yum install -y \
binutils gcc gcc-c++ make \
ksh libaio libaio-devel \
sysstat unixODBC unixODBC-devel \
glibc glibc-devel \
compat-libcap1 compat-libstdc++-33

5️⃣ Create Oracle Groups & User (If Already Exists – Skip)

groupadd oinstall
groupadd dba
groupadd oper
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba

useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
passwd oracle

6️⃣ Kernel Parameter Configuration

Edit:

vi /etc/sysctl.conf

Add:

fs.aio-max-nr = 1048576
fs.file-max = 6815744

kernel.shmmni = 4096
kernel.shmmax = 68719476736
kernel.shmall = 16777216

kernel.sem = 250 64000 100 4096
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

Apply:

sysctl -p

7️⃣ Set Oracle Limits

Edit:

vi /etc/security/limits.conf

Add:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

🔹 PHASE 2: Oracle Directory Setup (Root)

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 775 /u01

🔹 PHASE 3: Oracle User Environment

Login as oracle:

su - oracle

Edit .bash_profile:

vi ~/.bash_profile

Add:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=ORCL
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

Apply:

source ~/.bash_profile

🔹 PHASE 4: Download & Extract Oracle 19c

Upload Oracle 19c ZIP:

LINUX.X64_193000_db_home.zip

Extract:

cd $ORACLE_HOME
unzip LINUX.X64_193000_db_home.zip

🔹 PHASE 5: Oracle Software Installation

Run installer:

./runInstaller

Installer Screens (Typical Choices)

ScreenSelection
Configure Security UpdatesSkip
Installation OptionSet Up Software Only
Database TypeSingle Instance
EditionEnterprise / Standard
Oracle Base/u01/app/oracle
Oracle Home/u01/app/oracle/product/19.0.0/dbhome_1
Inventory/u01/app/oraInventory
OS Groupsoinstall / dba
Root ScriptsRun when prompted

🔧 Run Root Scripts (As root)

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh

🔹 PHASE 6: Create Database

As oracle:

dbca

DBCA Options

OptionValue
Create DatabaseYes
TemplateGeneral Purpose
DB Nameorcl
SIDORCL
CDBYes (Recommended) / or choose as per requirement
PDBPDB1
Character SetAL32UTF8
MemoryAutomatic
StorageFile System

🔹 PHASE 7: Post Installation Verification

ps -ef | grep pmon
sqlplus / as sysdba
SELECT name, open_mode FROM v$database;
SHOW pdbs;

🔹 PHASE 8: Enable Auto-Start (Optional)

Edit:

vi /etc/oratab

Change:

ORCL:/u01/app/oracle/product/19.0.0/dbhome_1:Y
Scroll to Top