Skip to content
-
Forerunner DBA Forerunner DBA Forerunner DBA

Real Builds. Real Challenges. Real Solutions

Forerunner DBA Forerunner DBA Forerunner DBA

Real Builds. Real Challenges. Real Solutions

  • Home
  • DATABASE
    • INSTALLATION
    • ASM
    • RMAN
    • DATA GUARD
    • PATCHING
    • TROUBLESHOOT
  • SCRIPTS
    • ASM Scripts
  • About
  • Contact
  • Home
  • DATABASE
    • INSTALLATION
    • ASM
    • RMAN
    • DATA GUARD
    • PATCHING
    • TROUBLESHOOT
  • SCRIPTS
    • ASM Scripts
  • About
  • Contact
Close

Search

Trending Now:
Oracle 19c Data Guard Series AutoUpgrade Oracle 19c

Oracle 19c on OL 8.10 — Silent Install, ASM, Restart & RU 19.32

By Chakravarthy
October 5, 2026 9 Min Read

After documenting my Oracle Database 19c deployment on RHEL7.9, I wanted to perform and document another completely tested implementation on Oracle Linux 8.10.

This article covers the complete journey from operating-system preparation through Oracle Grid Infrastructure, ASM, Oracle Restart, Database software installation, patching, DBCA database creation, and final validation.

The goal was to build and validate a complete single-instance Oracle Database 19c environment using Oracle Restart and ASM.

Important: This is an Oracle Restart / standalone environment, not an Oracle RAC cluster.

The deployment was performed primarily in silent mode using response files and command-line utilities.

The most important real-world issue in this implementation was that the initial ASM voting disk group configuration failed on the 19.3 Grid Home. The successful sequence became:

Grid Infrastructure 19.3
        ↓
Update OPatch
        ↓
Patch Grid Home to 19.32
        ↓
Configure ASM
        ↓
Create VOTK

That sequence became the key learning from this OL 8.10 test.


📂 Detailed Installation Commands & Output

This article focuses on the deployment approach, important configuration steps, troubleshooting and validation.

For readers who want to review the complete installation commands and actual command execution output, I have published the detailed command/output log separately on GitHub:

👉 Complete Oracle 19c Installation Commands & Output Log


Quick Navigation
  1. Environment and Architecture
  2. Prepare the OL8.10 Server
  3. Extend Filesystem and Configure Swap
  4. Install Oracle Prerequisites
  5. Configure OS, ASMLIB and Voting Disk
  6. Configure Oracle Environment
  7. Run CVU and Prepare the Grid Response File
  8. Install Grid Infrastructure and Handle the ASM Failure
  9. Update OPatch and Patch Grid to 19.32
  10. Configure ASM and Validate Oracle Restart
  11. Install and Patch the Database Home
  12. Create ASM Disk Groups and Set Compatibility
  13. Create the Database with DBCA
  14. Final Validation
  15. Key Findings and Conclusion

1. Environment and Architecture

The tested environment consisted of:

Article content

The Grid configuration explicitly used:

oracle.install.crs.config.ClusterConfiguration=STANDALONE

The completed configuration later reported:

Successfully configured Oracle Restart for a standalone server.

So the architecture is:


2. Prepare the OL8.10 Server

The initial operating-system preparation included Oracle users and groups, directory structure, storage, swap, prerequisite RPMs, ASMLIB, ASM disks, and environment settings.

Create Oracle Groups and User
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 asmdba
groupadd -g 504 asmoper
groupadd -g 506 asmadmin

Create the Oracle user and required groups:

useradd -u 501 -g oinstall -G dba oracle

usermod -G asmdba,asmoper,asmadmin,dba,oinstall oracle

usermod -aG wheel oracle

Verify:

id oracle

The Oracle directory structure used:

/u01/app/oraInventory
/u01/app/19.3.0/grid
/u01/app/19.3.0/db
/u01/app/oracle/software

3. Extend Filesystem and Configure Swap
Verify Storage Layout First

Because device and LVM names vary by environment, verify before changing storage:

lsblk
pvs
vgs
lvs

Extend the Filesystem and Configure 16GB swap

The OL8.10 sequence was:

growpart
   ↓
lvextend
   ↓
xfs_growfs

Expand the partition:

growpart /dev/sda 3

Create the logical volume, format the volume:

lvcreate -L 16G -n lv_swap ocivolume

mkswap /dev/ocivolume/lv_swap

Add the following entry to /etc/fstab and disable old swap entries as needed:

/dev/ocivolume/lv_swap swap swap defaults 0 0

Enable swap:

swapon -va

Validate:

swapon -s
free -m

The final environment showed approximately 16 GB of swap

Later, extend the root logical volume:

lvextend -l +100%FREE /dev/ocivolume/root

Grow the XFS filesystem:

xfs_growfs /

Verify:

lsblk
df -h

4. Install Oracle Prerequisites

Install the required operating-system, Oracle Databases19c pre-installation and asmlib packages:

dnf install -y perl xterm xhost
dnf install -y oracle-database-preinstall-19c
dnf localinstall -y oracleasmlib-3.1.3-1.el8.x86_64.rpm

The environment also contained:

kmod-redhat-oracleasm

Verify Oracle ASM-related packages:

rpm -qa | grep -i oracleasm

Configure and install CVUQDISK:

CVUQDISK_GRP=oinstall
export CVUQDISK_GRP

yum localinstall cvuqdisk-1.0.10-1.rpm

Finally:

yum update -y

5. Configure OS, ASMLib and Voting Disk

The OS configuration included:

SELinux = permissive
Firewall disabled
sudo
NOZEROCONF
Configure sudo Path

CVU expected:

/usr/local/bin/sudo

Create:

ln -s /usr/bin/sudo /usr/local/bin/sudo

Configure NOZEROCONF

Add:

NOZEROCONF=yes

to:

/etc/sysconfig/network

Configure ASMLib
oracleasm configure -i

The tested values were:

Default user: oracle
Default group: oinstall
Start Oracle ASM library driver on boot: y
Scan for Oracle ASM disks on boot: y

Restart ASMLib:

systemctl restart oracleasm

Initialize and validate:

oracleasm init
oracleasm status

Prepare the Initial Voting Disk

The initial ASM disk used:

/dev/sdb1

Partition the disk:

parted /dev/sdb --script -a optimal mklabel gpt mkpart primary 0% 100%

Create the ASMLIB label:

oracleasm createdisk VOTK /dev/sdb1

Scan and verify:

oracleasm scandisks
oracleasm listdisks

Expected:

VOTK

6. Configure Oracle Environment

The environment variables used were:

export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/19.3.0/grid
export DB_HOME=/u01/app/19.3.0/db

For ASM:

export ORACLE_SID=+ASM
export ORACLE_HOME=$GRID_HOME

The published article also shows the following under “For the database”:

export ORACLE_SID=TESTCDB
export ORACLE_HOME=$DB_HOME

I have retained that exactly as it appears in the source rather than silently changing it.


7. Run CVU and Prepare the Grid Response File
Run CVU
/u01/app/19.3.0/grid/runcluvfy.sh \
stage -pre crsinst \
-n caoradb02 \
-verbose \
-method sudo \
-user oracle

The validation showed:

Verifying Daemon "proxyt" not configured and running ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying File system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM Filter Driver configuration ...PASSED

Pre-check for cluster services setup was successful.

Configure the Grid Response File

Important settings:

oracle.install.option=HA_CONFIG
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle

oracle.install.crs.config.ClusterConfiguration=STANDALONE

oracle.install.asm.diskGroup.name=VOTK
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.disks=/dev/disk/by-label/VOTK
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/disk/by-label/*

8. Install Grid Infrastructure and Handle the ASM Failure

Install Grid Infrastructure:

/u01/app/19.3.0/grid/gridSetup.sh -ignorePrereq -silent \
-responseFile /u01/app/oracle/software/gridSetup.rsp

The installer reported:

Successfully Setup Software.

Run the requested root scripts:

/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.3.0/grid/root.sh

Then run the configuration tools:

/u01/app/19.3.0/grid/gridSetup.sh \
-executeConfigTools \
-responseFile /u01/app/oracle/software/gridSetup.rsp \
-silent

The result was:

[WARNING] [INS-43080] Some of the configuration assistants failed,
were cancelled or skipped.

The ASM/VOTK configuration failed with:

[FATAL] [DBT-30002] Disk group VOTK creation failed.

ORA-15018: diskgroup cannot be created.

Instead of repeatedly retrying the same step, the sequence was changed to:

Grid 19.3
   ↓
Update OPatch
   ↓
Patch Grid to 19.32
   ↓
Configure ASM
   ↓
Create VOTK

This was the key OL 8.10-specific finding in the article.


9. Update OPatch and Patch Grid to 19.32
Update Grid OPatch

Move to the Grid Home:

cd /u01/app/19.3.0/grid

Back up OPatch:

mv OPatch OPatch_12.2.0.1.17

Install the newer OPatch:

unzip -q p6880880_190000_Linux-x86-64.zip \
-d /u01/app/19.3.0/grid/

Verify:

/u01/app/19.3.0/grid/OPatch/opatch version

Expected:

OPatch Version: 12.2.0.1.52

Apply Grid RU 19.32

The Release Update used was:

39467003

Apply it:

/u01/app/19.3.0/grid/OPatch/opatchauto apply \
/u01/app/oracle/software/39467003

Important result:

OPatchAuto successful.

Patching is completed successfully.

The logical sequence is:

19.3.0 Grid Home
      ↓
OPatch 12.2.0.1.52
      ↓
19.32.0 RU
      ↓
19.32.0 Grid Home

Verify Grid Patch Inventory
$GRID_HOME/OPatch/opatch lspatches

The Grid Home showed:

39526364; OCW RELEASE UPDATE 19.32.0.0.0
39503034; ACFS RELEASE UPDATE 19.32.0.0.0
39472050; Database Release Update : 19.32.0.0.260721
39107855; TOMCAT RELEASE UPDATE
39107825; DBWLM RELEASE UPDATE

10. Configure ASM and Validate Oracle Restart

After patching the Grid Home, configure ASM explicitly with ASMCA:

asmca -silent \
-configureASM \
-sysAsmPassword "<ASM_PASSWORD>" \
-asmMonitorPassword "<ASM_MONITOR_PASSWORD>" \
-diskString 'ORCL:*,/dev/disk/by-label/*' \
-diskGroupName VOTK \
-diskList 'ORCL:VOTK' \
-redundancy EXTERNAL \
-au_size 4

The important output was:

ASM has been created and started successfully.

[DBT-30001] Disk groups created successfully.

This was the point where the previously failed ASM configuration succeeded.


Validate Oracle Restart
$GRID_HOME/bin/crsctl stat res -init -t

Important resources included:

ora.asm
ora.cssd
ora.VOTK.dg
ora.evmd

The important ones were online:

ora.asm     ONLINE
ora.cssd    ONLINE
ora.VOTK.dg ONLINE

This confirmed that Oracle Restart, ASM, the voting disk group, and CSSD were operational.


11. Install and Patch the Database Home

The Database Home used:

/u01/app/19.3.0/db
Database Response File
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/19.3.0/db
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE

Run Prerequisite Validation
$DB_HOME/runInstaller \
-executePrereqs \
-silent \
-responseFile /u01/app/oracle/software/db_install.rsp

Install Database Software
/u01/app/19.3.0/db/runInstaller \
-silent \
-responseFile /u01/app/oracle/software/db_install.rsp

Run the requested root script:

/u01/app/19.3.0/db/root.sh

Patch the Database Home to 19.32

After updating Database OPatch to 12.2.0.1.52, apply the RU:

$ORACLE_HOME/OPatch/opatch apply

The patch inventory showed:

39472050; Database Release Update : 19.32.0.0.260721

The older 19.3 RU became inactive because it had been superseded.


Verify the Database Home
/u01/app/19.3.0/db/OPatch/opatch lsinventory

The final home contained:

39472050; Database Release Update : 19.32.0.0.260721
29585399; OCW RELEASE UPDATE 19.3.0.0.0

12. Create ASM Disk Groups and Set Compatibility
Create the Remaining ASM Disks

The additional disk labels were:

DATA
REDO
FRA

Create them:

oracleasm createdisk DATA /dev/sdc1
oracleasm createdisk REDO /dev/sdd1
oracleasm createdisk FRA /dev/sde1

Rescan:

oracleasm scandisks
oracleasm listdisks

The environment showed:

DATA
FRA
REDO
VOTK

Create the ASM Disk Groups

For DATA:

asmca -silent \
-createDiskGroup \
-diskString 'ORCL:*' \
-diskGroupName DATA \
-diskList 'ORCL:DATA' \
-redundancy EXTERNAL

The same approach was used for REDO and FRA.

Result:

[DBT-30001] Disk groups created successfully.

Final disk groups:

VOTK
DATA
REDO
FRA

Set ASM Compatibility

The initial compatible.rdbms value was:

10.1.0.0.0

Set it to 19c:

setattr -G VOTK compatible.rdbms 19.0.0.0.0
setattr -G DATA compatible.rdbms 19.0.0.0.0
setattr -G REDO compatible.rdbms 19.0.0.0.0
setattr -G FRA compatible.rdbms 19.0.0.0.0

Verify:

select name,
       state,
       allocation_unit_size,
       compatibility,
       database_compatibility
from v$asm_diskgroup;

The final values showed 19.0.0.0.0 for the required compatibility attributes.


13. Create the Database with DBCA

The database configuration was:

Database Name : TESTCDB
SID           : TESTCDB
PDB           : TESTPDB
Storage       : ASM
DATA          : +DATA
Recovery      : +REDO
Character Set : AL32UTF8

Create the CDB and PDB:

dbca -silent -createDatabase \
-gdbName TESTCDB \
-sid TESTCDB \
-databaseConfigType SI \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName TESTPDB \
-pdbAdminPassword '<PDB_PASSWORD>' \
-sysPassword '<SYS_PASSWORD>' \
-systemPassword '<SYSTEM_PASSWORD>' \
-storageType ASM \
-diskGroupName +DATA \
-recoveryGroupName +REDO \
-useOMF true \
-characterSet AL32UTF8 \
-enableArchive true \
-automaticMemoryManagement false

DBCA completed successfully and registered the database with Oracle Restart.


14. Final Validation

A successful DBCA execution was only one checkpoint. I validated the environment at several levels.

Oracle Restart Resources
/u01/app/19.3.0/grid/bin/crsctl stat res -init -t

The final environment showed:

ora.DATA.dg     ONLINE
ora.FRA.dg      ONLINE
ora.REDO.dg     ONLINE
ora.VOTK.dg     ONLINE
ora.asm         ONLINE
ora.testcdb.db  ONLINE

This confirms not only that the database is running, but that it is actually managed by Oracle Restart.


Validate Database Components
select comp_name,
       version,
       version_full,
       status,
       modified
from dba_registry;

Expected:

19.32.0.0.0
VALID

Validate SQL Patch Registration
select target_build_description,
       patch_uid,
       patch_id,
       action,
       status,
       action_time,
       description,
       source_version,
       target_version
from dba_registry_sqlpatch
order by action_time;

Expected RU:

PATCH_ID : 39472050
ACTION   : APPLY
STATUS   : SUCCESS
TARGET   : 19.32.0.0.0

A useful distinction is:

       OPatch lspatches
               ↓
   Validates Oracle Home binaries

     DBA_REGISTRY_SQLPATCH
               ↓
Validates SQL patch inside database

Complete Final Validation Checklist
Operating System
cat /etc/os-release
uname -a
free -m
df -h
lsblk
swapon -s
Oracle User
id oracle
ASMLIB
oracleasm status
oracleasm listdisks

Expected:

DATA
FRA
REDO
VOTK
Oracle Restart
crsctl check has
Grid Resources
crsctl stat res -init -t
ASM
srvctl status asm
ASM Disk Groups
select name,
       state,
       type,
       total_mb,
       free_mb
from v$asm_diskgroup;
Grid Home
$GRID_HOME/OPatch/opatch lspatches
Database Home
$DB_HOME/OPatch/opatch lspatches
Database
select name,
       open_mode,
       database_role
from v$database;
PDB
show pdbs;
Database Components
select comp_name,
       version_full,
       status
from dba_registry;
SQL Patch
select patch_id,
       action,
       status,
       target_version
from dba_registry_sqlpatch
order by action_time;

This multi-layer validation was one of the key lessons from the deployment.


15. Key Findings and Conclusion

The most valuable part of this deployment was not simply installing Oracle Database 19c.

It was understanding how all the layers interact:

        Oracle Linux 8.10
                ↓
     OS Storage / Swap / RPMs
                ↓
             ASMLIB
                ↓
      Grid Infrastructure
                ↓
         Grid RU 19.32
                ↓
         Oracle Restart
                ↓
               ASM
                ↓
         Database Home
                ↓
         Database RU 19.32
                ↓
         ASM Disk Groups
                ↓
               DBCA
                ↓
      Oracle Restart Validation
                ↓
        SQL Patch Validation

The major practical findings were:

OS preparation matters

Filesystem layout, swap, packages, storage, users, groups, and OS configuration must all be correct before the Oracle software installation.

The OL 8.10 ASM issue was the key troubleshooting point

The original ASM voting disk creation failed during 19.3 configuration.

The sequence that worked was:

        19.3 Grid
           ↓
      Update OPatch
           ↓
     Apply 19.32 RU
           ↓
     Configure ASM
           ↓
      Create VOTK
DBCA success is not the final validation

After DBCA, the environment was still checked through:

Oracle Restart
Database version
DBA_REGISTRY
DBA_REGISTRY_SQLPATCH
ASM
Final resource validation

That provides much stronger evidence that the environment is truly in the expected state.


Final Result

The completed OL8.10 environment was:

           Oracle Linux 8.10
                    ↓
      Oracle Grid Infrastructure 19.32
                    ↓
             Oracle Restart
                    ↓
                   ASM
                    ↓
        VOTK / DATA / REDO / FRA
                    ↓
         Oracle Database 19.32
                    ↓
                 TESTCDB
                    ↓
                 TESTPDB

The most useful outcome was having a repeatable, tested, and documented Oracle 19c deployment on OL8.10, including the actual ASM failure and the sequence that resolved it.


📂Detailed Installation Commands & Execution Output

The complete installation command sequence and actual execution output can remain in the companion GitHub log.

That keeps the web article readable while preserving the full installer, OPatch, ASMCA, DBCA, SQL, crsctl, and troubleshooting output for readers who want to reproduce the deployment.

👉 Complete Oracle 19c Installation Commands & Output Log

This article documents a tested OL 8.10 implementation. Device names, storage layout, VM sizing, disk sizes, ASM redundancy, swap, memory, FRA sizing, database parameters, OS configuration, security controls, patch levels, and Oracle software paths should always be reviewed for the target environment.

Tags:

19.32ASMASMLIBDatabase 19cDBCAGrid InfrastructureInstallationOPatchOracle 19cOracle-RestartSilent Installation
No Comment! Be the first one.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search...

Archives

  • October 2026
  • September 2026
  • July 2026

Recent Posts

  • Oracle ASM Day-to-Day Operations – ASMCMD, Oracle ASMLib and SQL*Plus
    by Chakravarthy
    October 7, 2026
  • Oracle ASM Queries Every DBA Needs
    by Chakravarthy
    July 17, 2026
  • Oracle ACFS Commands Every DBA Needs
    by Chakravarthy
    July 17, 2026
  • Fixing OPatch Error: “Prerequisite check ‘CheckActiveFilesAndExecutables’ failed” — Real Production Experience
    by Chakravarthy
    July 30, 2026
Copyright 2026 — Forerunner DBA. All rights reserved.