Skip to content

Oracle 19c Installation Guide (RedHat 8.x)

1. Env. Prepare

1.1 Firmware update

update firmware with SPP(HPE) or OME(Dell)

1.2 Check NTP

chronyc sources -v

image-20250901144118392

1.3 Config multipath

create multipath config file

vim /etc/multipath.conf

add below content

# Modified by https://access.redhat.com/labs/multipathhelper/#/ v1.2.8

defaults {
    find_multipaths yes
    user_friendly_names yes
}

devices {
        device {
                vendor "HP"
                product "OPEN-.*"
                path_grouping_policy multibus
                path_selector "round-robin 0"
                path_checker "tur"
                hardware_handler "0"
                failback "immediate"
                rr_weight "uniform"
                no_path_retry "18"
                rr_min_io "1000"
        }
        device {
                vendor "3PARdata"
                product "VV"
                path_grouping_policy "group_by_prio"
                path_selector "round-robin 0"
                path_checker "tur"
                features "0"
                hardware_handler "1 alua"
                failback "immediate"
                prio "alua"
                rr_weight "uniform"
                no_path_retry "18"
                rr_min_io "100"
        }
        device {
                vendor "(COMPAQ|HP)"
                product "HSV1[01]1|HSV2[01]0|HSV3[06]0|HSV4[05]0"
                path_grouping_policy "group_by_prio"
                path_selector "round-robin 0"
                path_checker "tur"
                features "0"
                hardware_handler "0"
                prio "alua"
                failback "immediate"
                rr_weight "uniform"
                no_path_retry "12"
                rr_min_io "100"
                rr_min_io_rq "1"
        }
        device {
                vendor "HP"
                product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI"
                path_grouping_policy "group_by_prio"
                path_selector "round-robin 0"
                path_checker "tur"
                features "0"
                hardware_handler "0"
                prio "alua"
                failback "immediate"
                rr_weight "uniform"
                no_path_retry "18"
                rr_min_io "100"
                rr_min_io_rq "1"
        }
        device {
                vendor "Nimble"
                product "Server"
                path_grouping_policy group_by_prio
                prio "alua"
                hardware_handler "1 alua"
                path_selector "service-time 0"
                path_checker tur
                no_path_retry 30
                failback immediate
                dev_loss_tmo  infinity
                fast_io_fail_tmo 5
                rr_weight uniform
                rr_min_io_rq 1
        }

        device {
                vendor DellEMC
                product PowerStore
                path_selector "queue-length 0"
                path_grouping_policy group_by_prio
                path_checker tur
                detect_prio yes
                failback immediate
                no_path_retry 3
                rr_min_io_rq 1
                fast_io_fail_tmo 15
                max_sectors_kb 1024
        }
        device {
                vendor ".*"
                product "dellemc-powerstore"
                uid_attribute ID_WWN
                prio ana
                failback immediate
                path_grouping_policy "group_by_prio"
                path_selector "queue-length 0"

                detect_prio "yes"
                fast_io_fail_tmo 15
                no_path_retry 3
                rr_min_io_rq 1
        }
}

start multipath service

systemctl restart multipathd.service
systemctl enable multipathd.service
systemctl status multipathd.service

image-20250901145735887

rescan data-store

rescan-scsi-bus.sh
#or
echo "- - -" > /sys/class/scsi_host/host0/scan
multipath -ll

image-20250902123838090

1.4 Config LVM

create LVM partition

pvcreate /dev/sdb
vgcreate -s 256M vgdata /dev/sdb
vgdisplay |grep "Free"
lvcreate -l 42908 -n lvdata vgdata

image-20250902130448312

format LVM partition

mkfs.xfs /dev/vgdata/lvdata

image-20250902130709598

mount LVM storage to /oradata

mkdir /oradata
mount /dev/vgdata/lvdata /oradata
df -h

image-20250902130859826

add LVM mount point to /etc/fstab

echo "/dev/vgdata/lvdata      /oradata        xfs     defaults        0 0" | tee -a /etc/fstab
cat /etc/fstab

image-20250902131223601

2. Oracle 19c Install

2.1 Create account

groupadd -g 600 dba
useradd -u 600 -c "Oracle software owner" -g dba -G dba oracle
passwd oracle

image-20250901150726655

2.2 Prepare source

create oracle folder, and change folder owner to oracle user

mkdir -p /oracle/ora19c
mkdir -p /oradata/source
chown -R oracle.dba /oracle /oradata

image-20250901151544528

upload oracle source file to /oradata/source

\\10.55.12.38\03_SE_Source\DB\Database\Oracle\Oracle19c\Source\19.18.0.0

image-20250902151114693

2.3 Install package

Supplement the missing components for installation

vim /tmp/packages.txt

add below content

@base
@core
@desktop-debugging
@dial-up
@fonts
@ftp-server
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@multimedia
@print-client
kexec-tools
m4
motif
net-snmp
net-snmp-utils
ipmitool
gcc
gcc-c++
gcc-gfortran
ps_mem
ipmitool
dstat
lshw
ftp
fontconfig-devel
ksh
libaio-devel
libnsl
sysstat

fast install package

dnf install $(cat /tmp/packages.txt)

image-20250902132907550

check package, make sure all package installed, and if there are any missing item, please install them again

rpm -qa | grep ^bc
rpm -qa | grep binutils
rpm -qa | grep elfutils-libelf
rpm -qa | grep elfutils-libelf-devel
rpm -qa | grep fontconfig-devel
rpm -qa | grep glibc
rpm -qa | grep glibc-devel
rpm -qa | grep ksh
rpm -qa | grep libaio
rpm -qa | grep libaio-devel
rpm -qa | grep libXrender
rpm -qa | grep libX11
rpm -qa | grep libXau
rpm -qa | grep libXi
rpm -qa | grep libXtst
rpm -qa | grep libgcc
rpm -qa | grep libnsl
rpm -qa | grep librdmacm
rpm -qa | grep libstdc++
rpm -qa | grep libstdc++-devel
rpm -qa | grep libxcb
rpm -qa | grep libibverbs
rpm -qa | grep make
rpm -qa | grep smartmontools
rpm -qa | grep sysstat

image-20250902133653086

Optional: install lost package (if need)

dnf install fontconfig-devel ksh libaio-devel libnsl sysstat

2.4 Install oracle

environment config

su - oracle
vim /home/oracle/.bash_profile

replace profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
export JAVA_HOME=/usr/local/java
# User specific environment and startup programs
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/ora19c
export ORACLE_PATH=$ORACLE_BASE/dba_scripts/common/sql:.:$ORACLE_HOME/rdbms/admin
#export ORACLE_SID=BIDBQ  please replace it to the SID you want
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/dba_scripts/common/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
PATH=$PATH:$HOME/bin
export PATH

image-20250902151602635

  • Unzip oracle source
cd /oracle/ora19c
unzip /oradata/source/LINUX.X64_193000_db_home.zip

image-20250902135638984

[!TIP]

use oraclogin server with console UI

  • Execution installation
export CV_ASSUME_DISTID=OL7   #将当前系统识别为Oracle Linux 7以解决兼容性问题
./runInstaller

select Set Up Software Only, and click Next

image-20250902140427694

select Single instance database installation, and click Next

image-20250902140642914

select the edition Standard Edition 2, and click Next

image-20250902141002083

specify oracle base to /oracle, and click Next

image-20250902141203910

modify inventory directory to /oracle/oraInventory, and click Next

image-20250902141424241

click Yes

image-20250902141544386

make sure all group is dba, and click Next

image-20250902141714918

click Next

image-20250902141813353

select Ignore All, and click Next

Only compat-libcap1-1.10 can be ignore, it is known Issues and Bugs for Oracle Linux 8 and Red Hat Enterprise Linux 8

image-20250902141947396

image-20250902142103179

https://docs.oracle.com/en/database/oracle/oracle-database/19/rnrdm/linux-platform-issues.html#GUID-69942B7A-B662-48DC-8FC1-DFC56A3719D6

click Yes

image-20250902142248122

click Install

image-20250902142346548

waiting for oracle install

image-20250902142502164

execute as root user by new terminal

image-20250902142619823

/oracle/oraInventory/orainstRoot.sh
/oracle/ora19c/root.sh

image-20250902142834088

and back to this windows, click OK

image-20250902142958382

click Close to finish install

image-20250902143101934

  • check oracle install version
cd /oracle/oraInventory/logs
cd InstallActions2025-09-02_02-03-04PM    --> according to your installation time
cat installActions* | grep 'Database edition'

image-20250902144042356