Installing Oracle Database 19.3.0.0 RAC on RHEL 8.7

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

Oracle Standalone Cluster Requirements

Minimum Available Space Requirements for Oracle Standalone Cluster With GIMR Configuration

Redundancy Level DATA Disk Group MGMT Disk Group Oracle Fleet Patching and Provisioning Total Storage
External 1 GB 28 GB Each node beyond four: 5 GB 1 GB 30 GB
Normal 2 GB 56 GB Each node beyond four: 5 GB 2 GB 60 GB
High/Flex/Extended 3 GB 84 GB Each node beyond four: 5 GB 3 GB 90 GB

a. The DATA disk group stores OCR and voting files, and the MGMT disk group stores GIMR and Oracle Clusterware backup files.
b. Starting with Oracle Grid Infrastructure 19c, configuring GIMR is optional for Oracle Standalone Cluster deployments.

Configuring Operating Systems for Oracle Grid Infrastructure on Linux

Configuring Yum Repositories

Packages 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

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

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 +%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
# Oracle 19c
192.168.3.101 oracle19crac01
192.168.3.102 oracle19crac02
192.168.3.103 oracle19crac03
192.168.3.104 oracle19crac01-vip
192.168.3.105 oracle19crac02-vip
192.168.3.106 oracle19crac02-vip
192.168.3.107 oracle19crac-scan
100.100.100.101 oracle19crac01-priv
100.100.100.102 oracle19crac02-priv
100.100.100.103 oracle19crac03-priv
EOF

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 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba
useradd -u 54331 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba -m -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmadmin,racdba -m -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
echo "grid" | passwd --stdin grid
echo "oracle" | passwd --stdin oracle

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

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

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

cat >>/home/grid/.bash_profile <<"EOF"
# Oracle 19c
umask 022
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.0.0/grid
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'
fi
EOF

cat >>/home/oracle/.bash_profile <<"EOF"
# Oracle 19c
umask 022
export ORACLE_SID=coco1
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 SSH Manually on All Cluster Nodes

Create SSH Directory and Create SSH Keys On Each Node

  1. Logged in as grid, create the .ssh directory in the grid user's home directory, and set permissions on it to ensure that only the oracle user has read and write permissions:

    mkdir ~/.ssh
    chmod 700 ~/.ssh
  2. Create RSA or DSA key.

    /usr/bin/ssh-keygen -t rsa

    At the prompts, accept the default location for the key file (press Enter).

  3. Repeat the steps 1 through 2 on each node that you intend to make a member of the cluster, using the DSA key.

Add All Keys to a Common authorized_keys File

To configure SSH, copy all the generated keys on all cluster node members into an authorized keys file that is identical on each node.
On the local node, add the DSA key to the authorized_keys file, then copy the authorized_keys file to the user .ssh directory on a remote node.

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
scp authorized_keys oracle19crac02:~/.ssh/
scp authorized_keys oracle19crac03:~/.ssh/

Repeat from each node to each other member node in the cluster.

Verifying SSH User Equivalency on Cluster Nodes

On the system where you want to run OUI, log in as the grid user.
If you have configured SSH correctly, then you can now use the ssh or scp commands without being prompted for a password. For example:

~]$ ssh oracle19crac02 date
Wed May 10 11:02:23 CST 2023
~]$ ssh oracle19crac03 date
Wed May 10 11:02:27 CST 2023

Repeat from each node to each other member node in the cluster.
If any node prompts for a password, then verify that the ~/.ssh/authorized_keys file on that node contains the correct public keys, and that you have created an Oracle software owner with identical group membership and IDs.

Configuring Storage Device Path Persistence Using Oracle ASMLIB

If you configure disks using Oracle ASMLIB, then you must change the disk discovery string to ORCL:. If the diskstring is set to ORCL:, or is left empty (""), then the installer discovers these disks.

Installing and Configuring Oracle ASMLIB Software

To install and configure the Oracle Automatic Storage Management library driver software manually, perform the following steps:

  1. Depending on your operating system version, download the required Oracle Automatic Storage Management library driver packages and driver:

    Oracle ASMLib Software Update and Support Policy (Doc ID 1089399.1)

    Oracle ASMLib

  2. Install the oracleasmlib and oracleasm-support packages for all Oracle ASMLIB installations.

    dnf -y install kmod-redhat-oracleasm
    rpm -ivh oracleasmlib-2.0.17-1.el8.x86_64.rpm
    rpm -ivh oracleasm-support-2.1.12-1.el8.x86_64.rpm
  3. Run the oracleasm initialization script with the configure option:

    ~]# /usr/sbin/oracleasm configure -i
    Configuring the Oracle ASM library driver.

    This will configure the on-boot properties of the Oracle ASM library
    driver. The following questions will determine whether the driver is
    loaded on boot and what permissions it will have. The current values
    will be shown in brackets ('[]'). Hitting <ENTER> without typing an
    answer will keep that current value. Ctrl-C will abort.

    Default user to own the driver interface []: grid
    Default group to own the driver interface []: asmadmin
    Start Oracle ASM library driver on boot (y/n) [n]: y
    Scan for Oracle ASM disks on boot (y/n) [y]: y
    Writing Oracle ASM library driver configuration: done
  4. Load the oracleasm kernel module:

    ~]# /usr/sbin/oracleasm init
    Creating /dev/oracleasm mount point: /dev/oracleasm
    Loading module "oracleasm": oracleasm
    Configuring "oracleasm" to use device physical block size
    Mounting ASMlib driver filesystem: /dev/oracleasm

Configuring Disk Devices to Use Oracle ASMLIB

  1. Use either fdisk or parted to create a single whole-disk partition on the disk devices, only on local node.

    fdisk /dev/sdb
    ...
  2. Mark a disk as an Oracle Automatic Storage Management disk, only on local node:

    /usr/sbin/oracleasm createdisk OCR01 /dev/sdb1
    ...
  3. To make the disk available on the other nodes in the cluster, enter the following command as root on each node:

    ~]# oracleasm scandisks
    Reloading disk partitions: done
    Cleaning any stale ASM disks...
    Scanning system for ASM disks...
    Instantiating disk "OCR01"
    Instantiating disk "OCR02"
    Instantiating disk "DATA01"
    Instantiating disk "MGMT01"
    Instantiating disk "OCR03"
    Instantiating disk "ARCH01"
    ~]# oracleasm listdisks
    ARCH01
    DATA01
    MGMT01
    OCR01
    OCR02
    OCR03

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
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
grid hard memlock 10869992
grid soft memlock 10869992
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 Oracle Grid Infrastructure for a New Cluster

  1. Download and change the Oracle Grid Infrastructure image files permissions.

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

    unzip -q /soft/LINUX.X64_193000_grid_home.zip -d $GRID_HOME
  3. Log in as the root user, installing the cvuqdisk RPM on each node.

    CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
    rpm -ivh /u01/app/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
  4. Log in as the grid user, verify that all of the cluster nodes meet the installation requirements:

    $GRID_HOME/runcluvfy.sh stage -pre crsinst -n oracle19crac01,oracle19crac02,oracle19crac03
  5. Log in as the grid user, run installer script.

    $GRID_HOME/gridSetup.sh

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 Oracle home.

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

    $ORACLE_HOME/runInstaller

Patch

34130714 - GI Release Update 19.16.0.0.220719

Patch 34130714_190000

Installation Errors for Oracle 19.3 RAC on RHEL 8.7

Fails with INS-08101 supportedOSCheck

执行 GI 软件 OUI$GRID_HOME/gridSetup.sh 和 Oracle 数据库软件 OUI$ORACLE_HOME/runInstaller 时,出现如下错误:

[WARNING] [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'.

Workaround

Requirements for Installing Oracle Database,Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1).pdf |

OL/RHEL8 操作系统版本不在 19c 预检列表中,在 RU 19.6 及更高版本中修复。
在执行安装脚本前,设置 CV_ASSUME_DISTID 变量假设操作系统版本为 OL7:

export CV_ASSUME_DISTID=OEL7
./gridSetup.sh

export CV_ASSUME_DISTID=OEL7
./runInstaller

INS-06006 Passwordless SSH connectivity not set up

在节点 SSH 免密验证时,出现如下错误:

[INS-06006] Passwordless SSH connectivity not set up between the following node(s): [oracle19crac02, oracle19crac03].

Workaround

INS-06006 GI RunInstaller Fails If OpenSSH Is Upgraded to 8.x (Doc ID 2555697.1).pdf |

OpenSSH 8.x 安全机制问题,安装前,添加 scp 选项 -T

# Rename the original scp.
mv /usr/bin/scp /usr/bin/scp.orig

# Create a new file </usr/bin/scp>.
touch /usr/bin/scp

# Add the below line to the new created file </usr/bin/scp>.
cat >> /usr/bin/scp < EOF
/usr/bin/scp.orig -T $*
EOF

# Change the file permission.
chmod 555 /usr/bin/scp

安装后,恢复原 scp:

mv /usr/bin/scp.orig /usr/bin/scp

INS-10113 encountered errors while copying files to nodes

OUI 在执行拷贝 $GRID_HOME 到其他节点时,出现如下错误:

[INS-10113] Installer encountered errors while copying /opt/grid/products/19.3.0 to nodes [, ].
PRCF-2041 : The transfer failed for all nodes

Workaround

19c [INS-10113] And PRCF-2041 When Installing 3 Nodes RAC (Doc ID 2662954.1).pdf |

在启动 OUI 前,设置 SRVM_DISABLE_MTTRANS 变量:

export SRVM_DISABLE_MTTRANS=true
./gridSetup.sh

设置完后可能出现如下报错,忽略即可。

[INS-06009] SSH performance is detected to be slow, which may impact performance during remote node operations like copying the software and executing prerequisite checks.

INS-41208 None of the available network subnets is marked for use by ASM

在 ASM 私有网络验证时,出现如下错误:

[INS-41208] None of the available network subnets is marked for use by Oracle Automatic Storage Management (ASM)

  • PRVG-11081 : unable to find the matching networks for the interface "ens256" and the subnet "100.100.100.0" on nodes "oracle19crac03"
  • Cause:  Cluster Verification Utility (CVU) connectivity checking determined that the interface-subnet combination was not found on the indicated nodes.
  • Action:  Ensure that the interface-subnet combination is installed, is online on the indicated nodes, and retry the node connectivity checks.

Workaround

第三节点的网卡设备名称 ens256 与第一节点和第二节点的网卡设备名 ens224 不一致。

How to assign a specific network interface name in RHEL7,8.pdf |

~]# nmcli con add con-name ens224 type ethernet mac "xx:xx:xx:xx:xx:xx" ifname ens224
~]# reboot
~]# nmcli con modify ens224 ipv4.add 100.100.100.103/24 ipv4.method manual autoconnect yes

Error while restoring PDB backup piece

DBCA 创建数据库时,出现 PDB 数据库无法从备份集中还原

[FATAL] Error while restoring PDB backup piece

查看 DBCA 日志文件 /u01/app/oracle/cfgtoollogs/dbca/coco/trace.log_2023-05-24_10-22-51PM,详细报错如下:

[progressPage.flowWorker] [ 2023-05-24 15:36:07.613 CST ] [RMANUtil.restorePDBBackUp:1697]  Error while restoring PDB backup piece: echo set off
RMAN> 2> 3> 4> 5>
executing command: SET COMMAND ID
Starting restore at 24-MAY-23
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=13 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring foreign file 00002
channel ORA_DISK_1: restoring foreign file 00004
channel ORA_DISK_1: restoring foreign file 00009
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/pdbseed.dfb
channel ORA_DISK_1: restoring foreign file 2 to +DATA/COCO/pdbseed/system01.dbf
channel ORA_DISK_1: restoring foreign file 4 to +DATA/COCO/pdbseed/sysaux01.dbf
channel ORA_DISK_1: restoring foreign file 9 to +DATA/COCO/pdbseed/undotbs01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 05/24/2023 15:36:07
ORA-19870: error while restoring backup piece /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/pdbseed.dfb
ORA-19504: failed to create file "+DATA/COCO/pdbseed/system01.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DATA/COCO/pdbseed/system01.dbf
ORA-15173: entry 'pdbseed' does not exist in directory 'COCO'
RMAN>

SEVERE: May 24, 2023 3:36:08 PM oracle.install.commons.util.exception.AbstractErrorAdvisor getDetailedMessage
SEVERE: [FATAL] Error while restoring PDB backup piece

Workaround

PDB 数据库创建 BUG,无法自动创建 PDBSEED<PDB> 数据文件目录,需要手动进行创建

asmcmd> cd +DATA/COCO/
asmcmd> mkdir PDBSEED
asmcmd> mkdir PDB

PRCR-1079

DBCA 创建数据库,出现数据库无法启动,共享内存段(SGA)分配错误

PRCR-1079 : Failed to start resource ora.coco.db
CRS-5017: The resource action "ora.coco.db start" encountered the following error:
ORA-27125: unable to create shared memory segment

查看数据库 alert_<sid>.log 日志文件,详细错误日志如下:

2023-05-24T13:11:59.696916+08:00
Error: ENOSPC while creating shared memory segment of size 6425673728 bytes
Check the system shared memory parameters
2023-05-24T13:11:59.697766+08:00
Error: ENOSPC while creating shared memory segment of size 6425673728 bytes
Check the system shared memory parameters
2023-05-24T13:11:59.698456+08:00
**********************************************************************
2023-05-24T13:11:59.698751+08:00
Dump of system resources acquired for SHARED GLOBAL AREA (SGA)

2023-05-24T13:11:59.699297+08:00
Per process system memlock (soft) limit = 7168M
2023-05-24T13:11:59.699599+08:00
Expected per process system memlock (soft) limit to lock
instance MAX SHARED GLOBAL AREA (SGA) into memory: 6146M
2023-05-24T13:11:59.700236+08:00
Available system pagesizes:
4K, 2048K
2023-05-24T13:11:59.700836+08:00
Supported system pagesize(s):
2023-05-24T13:11:59.701123+08:00
PAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)
2023-05-24T13:11:59.701447+08:00
4K Configured 9 0 ORA-27125
2023-05-24T13:11:59.701942+08:00
2048K 3071 3073 5 ORA-27125
2023-05-24T13:11:59.702271+08:00
RECOMMENDATION:
2023-05-24T13:11:59.702601+08:00
1. Configure system with expected number of pages for every
supported system pagesize prior to the next instance restart operation.
2023-05-24T13:11:59.725346+08:00
**********************************************************************
2023-05-24T13:11:59.747369+08:00
SGA: Realm creation failed

Workaround

共享内存段参数设置错误,导致共享内存段不足,相关参数有 memlock, kernel.shmmax, kernel.shmall, vm.nr_hugepages
重新配置后,正常启动。

CRS-4535

安装完 GI 软件,重启服务器后,CRS 服务无法启动

CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors.

ora.crsd 资源无法联机

bin]# ./crsctl stat res -t -init
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
1 ONLINE OFFLINE STABLE
ora.cluster_interconnect.haip
1 ONLINE ONLINE oracle19crac02 STABLE
ora.crf
1 ONLINE ONLINE oracle19crac02 STABLE
ora.crsd
1 ONLINE OFFLINE STABLE
ora.cssd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.cssdmonitor
1 ONLINE ONLINE oracle19crac02 STABLE
ora.ctssd
1 ONLINE OFFLINE STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.gipcd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.gpnpd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.mdnsd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.storage
1 ONLINE ONLINE oracle19crac02 STABLE
--------------------------------------------------------------------------------

Workaround

手动启动 ora.crsd 资源

bin]# ./crsctl start res ora.crsd -init
CRS-2672: Attempting to start 'ora.ctssd' on 'oracle19crac02'
CRS-2676: Start of 'ora.ctssd' on 'oracle19crac02' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'oracle19crac02'
CRS-2672: Attempting to start 'ora.crsd' on 'oracle19crac02'
CRS-2676: Start of 'ora.asm' on 'oracle19crac02' succeeded
CRS-2676: Start of 'ora.crsd' on 'oracle19crac02' succeeded

重新查看状态

bin]# ./crsctl stat res -t -init
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
1 ONLINE ONLINE oracle19crac02 STABLE
ora.cluster_interconnect.haip
1 ONLINE ONLINE oracle19crac02 STABLE
ora.crf
1 ONLINE ONLINE oracle19crac02 STABLE
ora.crsd
1 ONLINE INTERMEDIATE oracle19crac02 STABLE
ora.cssd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.cssdmonitor
1 ONLINE ONLINE oracle19crac02 STABLE
ora.ctssd
1 ONLINE ONLINE oracle19crac02 ACTIVE:-8600,STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.gipcd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.gpnpd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.mdnsd
1 ONLINE ONLINE oracle19crac02 STABLE
ora.storage
1 ONLINE ONLINE oracle19crac02 STABLE
--------------------------------------------------------------------------------

bin]# ./crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE oracle19crac01 STABLE
ONLINE ONLINE oracle19crac02 STABLE
ONLINE ONLINE oracle19crac03 STABLE
ora.chad
ONLINE ONLINE oracle19crac01 STABLE
ONLINE ONLINE oracle19crac02 STABLE
ONLINE ONLINE oracle19crac03 STABLE
ora.net1.network
ONLINE ONLINE oracle19crac01 STABLE
ONLINE ONLINE oracle19crac02 STABLE
ONLINE ONLINE oracle19crac03 STABLE
ora.ons
ONLINE ONLINE oracle19crac01 STABLE
ONLINE ONLINE oracle19crac02 STABLE
ONLINE ONLINE oracle19crac03 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ARCH.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 STABLE
2 ONLINE ONLINE oracle19crac02 STABLE
3 ONLINE ONLINE oracle19crac03 STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 STABLE
2 ONLINE ONLINE oracle19crac02 STABLE
3 ONLINE ONLINE oracle19crac03 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 STABLE
2 ONLINE ONLINE oracle19crac02 STABLE
3 ONLINE ONLINE oracle19crac03 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oracle19crac03 STABLE
ora.MGMT.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 STABLE
2 ONLINE ONLINE oracle19crac02 STABLE
3 ONLINE ONLINE oracle19crac03 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE oracle19crac03 169.254.10.67 100.10
0.100.103,STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 STABLE
2 ONLINE ONLINE oracle19crac02 STABLE
3 ONLINE ONLINE oracle19crac03 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 Started,STABLE
2 ONLINE ONLINE oracle19crac02 Started,STABLE
3 ONLINE ONLINE oracle19crac03 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE oracle19crac01 STABLE
2 ONLINE ONLINE oracle19crac02 STABLE
3 ONLINE ONLINE oracle19crac03 STABLE
ora.cvu
1 ONLINE ONLINE oracle19crac03 STABLE
ora.mgmtdb
1 ONLINE ONLINE oracle19crac03 Open,STABLE
ora.oracle19crac01.vip
1 ONLINE ONLINE oracle19crac01 STABLE
ora.oracle19crac02.vip
1 ONLINE ONLINE oracle19crac02 STABLE
ora.oracle19crac03.vip
1 ONLINE ONLINE oracle19crac03 STABLE
ora.qosmserver
1 ONLINE ONLINE oracle19crac03 STABLE
ora.scan1.vip
1 ONLINE ONLINE oracle19crac03 STABLE
--------------------------------------------------------------------------------

OPATCHAUTO-72030

opatchauto failed.

~]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /soft/34130714 -analyze
OPatchauto session is initiated at Tue May 23 23:22:37 2023

System initialization log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2023-05-23_11-22-43PM.log.

Session log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2023-05-23_11-23-02PM.log
The id for this session is QDHA
Shared home /u01/app/19.0.0/grid can only be patched in nonrolling mode.

OPATCHAUTO-72030: Execution mode invalid.
OPATCHAUTO-72030: Cannot execute in rolling mode, as CRS home is shared.
OPATCHAUTO-72030: Execute in non-rolling mode.
OPatchAuto failed.

OPatchauto session completed at Tue May 23 23:23:32 2023
Time taken to complete the session 0 minute, 55 seconds

opatchauto failed with error code 42

found errors in System initialization log file /u01/app/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2023-05-23_11-17-19PM.log.

2023-05-23 23:17:39,695 WARNING [1] oracle.dbsysmodel.driver.sdk.util.OsysUtility - Failed:
Verifying '/tmp/' ...FAILED (PRVG-1901)

Verification of shared storage accessibility was unsuccessful on all the specified nodes.
NODE_STATUS::oracle19crac01:EFAIL
The result of cluvfy command contain EFAIL NODE_STATUS::oracle19crac01:EFAIL
2023-05-23 23:17:39,697 SEVERE [1] com.oracle.glcm.patch.auto.db.integration.model.productsupport.topology.TopologyCreator - Stacktrace :: oracle.dbsysmodel.driver.sdk.prod
uctdriver.ProductDriverException: Unable to determine if "/u01/app/19.0.0/grid" is a shared oracle home.
Failed:
Verifying '/tmp/' ...FAILED (PRVG-1901)

Verification of shared storage accessibility was unsuccessful on all the specified nodes.
NODE_STATUS::oracle19crac01:EFAIL
The result of cluvfy command contain EFAIL NODE_STATUS::oracle19crac01:EFAIL

Workaround

Since 19c(19.3) is already released a while ago, It does not contain Pre-req checks specific to OL/RHEL 8.

~]# export CV_ASSUME_DISTID=OEL7
~]# /u01/app/19.0.0/grid/OPatch/opatchauto apply /soft/34130714 -analyze