Installing Oracle Database 19.3.0.0 on RHEL 8.7

Operating System: RHEL 8.7, 8.10
Database Software: LINUX.X64_193000_db_home.zip

Oracle Oracle Single Instance Requirements

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}  (%{ARCH})\n' \
bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel \
glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau \
libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel \
libxcb libibverbs make smartmontools sysstat unzip xorg-x11-xauth

Configuring Operating Systems for Oracle Single Instance

Disabling Firewall and SElinux.

systemctl disable firewalld --now
sed -i '/SELINUX=/{s/enforcing/disabled/}' /etc/selinux/config

Disabling Zero Configuration Network.

cp -p /etc/sysconfig/network{,.bak.`date +%Y%m%d`}
echo "NOZEROCONF=yes" >>/etc/sysconfig/network

Disabling Transparent Huagepages.

How to disable transparent hugepages (THP) on Red Hat Enterprise Linux 7, 8 and 9

Configuring Public, Private, Virtual and SCAN IP names and Addresses.

cat >>/etc/hosts <<EOF
192.168.3.108 oracle19c
EOF

Configuring Yum Repositories.

Installing Operating System Packages.

dnf -y install \
bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel \
glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau \
libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel \
libxcb libibverbs make smartmontools sysstat unzip xorg-x11-xauth

Configuring Users, Groups and Environments for Oracle Grid Infrastructure and Oracle Database

Create Oracle software owner user accounts on each cluster node

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 54330 racdba
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba -m -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
echo "oracle" | passwd --stdin oracle

Create Grid home and Oracle home directories on each cluster node.

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

Configure Oracle Software owner user account environment on each cluster node.

cat >> /home/oracle/.bash_profile << "EOF"
# Oracle 19c
export CV_ASSUME_DISTID=OEL7
umask 022
export ORACLE_SID=coco
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if command -v rlwrap >/dev/null 2>&1; then
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
fi
EOF

Completing Preinstallation Tasks Manually

Configuring Kernel Parameters for Linux

Create or edit the /etc/sysctl.d/97-oracle-database-19c-sysctl.conf file, and add or edit lines similar to:

cat > /etc/sysctl.d/97-oracle-database-19c-sysctl.conf << EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1835008
kernel.shmmax = 6442450944
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
vm.nr_hugepages = 3584
EOF

Configuring Resource Limits for Oracle Software Installation Users

cat > /etc/security/limits.d/97-oracle-database-19c-limits.conf << EOF
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 10869992
oracle soft memlock 10869992
EOF

Installing the Oracle Database Software

  1. Download and change the Oracle Database image files permissions.

    chown -R oracle:oinstall /soft/LINUX.X64_193000_db_home.zip
  2. Log in as the oracle user, extract the files into the Grid home.

    unzip -q /soft/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
  3. Log in as the oracle user, Run installer.

    export CV_ASSUME_DISTID=OEL7
    $ORACLE_HOME/runInstaller

Post Installation Tasks

Configuring Automatic Restart of an Oracle Database

Patch

34133642 - Database Release Update 19.16.0.0.220719.

Patch 34133642_190000

Create a Instance with character UTF8

The character UTF8 is deprecated on Oracle 19c.

Setting Listener

~]$ cat /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LI_COCO =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1522))
)
)

~]$ cat /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

COCO =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = coco)
)
)

LISTENER_COCO =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1522))


SYS@coco> show parameter listener

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
forward_listener string
listener_networks string
local_listener string LISTENER_COCO
remote_listener string

SYS@coco> ALTER SYSTEM SET LOCAL_LISTENER = 'LISTENER_GM2RPNP' scope=both;
SYS@coco> ALTER SYSTEM REGISTER;

Troubleshooting

Issue: ORA-00800: soft external error, arguments: [Set Priority Failed], [VKTM]

~]$ grep -2 'ORA-00800' /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
2025-08-28T16:15:00.394152+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_vktm_9713.trc (incident=10285):
ORA-00800: soft external error, arguments: [Set Priority Failed], [VKTM], [Check traces and OS configuration], [Check Oracle document and MOS notes], []
Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_10285/orcl_vktm_9713_i10285.trc
2025-08-28T16:15:00.396278+08:00

~]$ cat /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_vktm_9713.trc
Trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_vktm_9713.trc
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Build label: RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417
ORACLE_HOME: /u01/app/oracle/product/19.0.0/dbhome_1
System name: Linux
Node name: oracle19c
Release: 4.18.0-553.el8_10.x86_64
Version: #1 SMP Fri May 10 15:19:13 EDT 2024
Machine: x86_64
Instance name: orcl
Redo thread mounted by this instance: 0 <none>
Oracle process number: 5
Unix process pid: 9713, image: oracle@oracle19c (VKTM)


*** 2025-08-28T16:15:00.394972+08:00
*** CLIENT ID:() 2025-08-28T16:15:00.394995+08:00
*** SERVICE NAME:() 2025-08-28T16:15:00.395000+08:00
*** MODULE NAME:() 2025-08-28T16:15:00.395004+08:00
*** ACTION NAME:() 2025-08-28T16:15:00.395010+08:00
*** CLIENT DRIVER:() 2025-08-28T16:15:00.395024+08:00

2025-08-28T16:15:00.394740+08:00
Incident 10285 created, dump file: /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_10285/orcl_vktm_9713_i10285.trc
ORA-00800: soft external error, arguments: [Set Priority Failed], [VKTM], [Check traces and OS configuration], [Check Oracle document and MOS notes], []

*** SESSION ID:(127.44644) 2025-08-28T16:15:00.469736+08:00
*** SERVICE NAME:() 2025-08-28T16:15:00.469762+08:00

kstmmainvktm: failed in setting elevated priority
Verify: SETUID is set on ORADISM and restart the instance
highres_enabled
VKTM running at (100ms) precision
kstmrmtickcntkeeper: param _dbrm_quantum will not be effective
[Start] HighResTick = 4277986657
kstmrmtickcnt = 0, ksudbrmseccnt[0] = 1756368900
[End] HighResTick = 11816137011

*** 2025-08-28T18:20:38.798522+08:00
kstmrmtickcnt = 75302, ksudbrmseccnt[7530] = 1756376438

adrci> show incident -mode detail -p "incident_id=10285"

ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************

**********************************************************
INCIDENT INFO RECORD 1
**********************************************************
INCIDENT_ID 10285
STATUS ready
CREATE_TIME 2025-08-28 16:15:00.392000 +08:00
PROBLEM_ID 1
CLOSE_TIME <NULL>
FLOOD_CONTROLLED none
ERROR_FACILITY ORA
ERROR_NUMBER 800
ERROR_ARG1 Set Priority Failed
ERROR_ARG2 VKTM
ERROR_ARG3 Check traces and OS configuration
ERROR_ARG4 Check Oracle document and MOS notes
ERROR_ARG5 <NULL>
ERROR_ARG6 <NULL>
ERROR_ARG7 <NULL>
ERROR_ARG8 <NULL>
ERROR_ARG9 <NULL>
ERROR_ARG10 <NULL>
ERROR_ARG11 <NULL>
ERROR_ARG12 <NULL>
SIGNALLING_COMPONENT background_proc
SIGNALLING_SUBCOMPONENT <NULL>
SUSPECT_COMPONENT <NULL>
SUSPECT_SUBCOMPONENT <NULL>
ECID <NULL>
IMPACTS 0
CON_UID 0
PROBLEM_KEY ORA 800
FIRST_INCIDENT 41
FIRSTINC_TIME 2025-08-28 15:46:58.193000 +08:00
LAST_INCIDENT 10285
LASTINC_TIME 2025-08-28 16:15:00.392000 +08:00
IMPACT1 0
IMPACT2 0
IMPACT3 0
IMPACT4 0
KEY_NAME ProcId
KEY_VALUE 5.1
KEY_NAME Client ProcId
KEY_VALUE oracle@oracle19c.9713_140701772284864
OWNER_ID 1
INCIDENT_FILE /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_10285/orcl_vktm_9713_i10285.trc
OWNER_ID 1
INCIDENT_FILE /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_vktm_9713.trc

Reference:

https://www.cnblogs.com/lndt/p/18502332
https://www.modb.pro/db/1860334219730366464

Appendix

Install Oracle Database Software.











Create a Listener.







Create an Instance.