Oracle 19c on OL 8.10 — Silent Install, Filesystem Storage & 19.32 RU (No GI/ASM)
Oracle Database installations are often documented around RAC, Grid Infrastructure, and ASM. However, there are many environments where a single-instance Oracle Database running directly on the Linux filesystem is exactly what is required.
In this article, I am documenting a complete hands-on installation of Oracle Database 19c on Oracle Linux 8.10 without Grid Infrastructure and without ASM.
The deployment includes:
- Oracle Database 19c software installation in silent mode
- Base Oracle Home at
19.3 - OPatch update
- Database Release Update to
19.32.0.0.260721 - Filesystem-based storage
- Oracle Managed Files (OMF)
- CDB architecture
- One PDB
- DBCA silent database creation
- Final patch and component validation
This is based on my tested installation, while the complete command execution log is maintained separately for reference.
📂 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
- Environment and Architecture
- Create Oracle OS User and Directories
- Prepare the Operating System
- Configure Oracle Environment Variables
- Install Oracle Prerequisites
- Prepare Oracle 19c Software and Response File
- Run Prerequisite Checks and Install Oracle 19c
- Verify the Base Oracle Home
- Update OPatch and Apply RU 19.32
- Create the Database with DBCA
- Start and Verify the CDB and PDB
- Validate SQL Patching and Database Components
- Final Architecture and Conclusion
1. Environment and Architecture
The installation was performed on Oracle Linux 8.10.
The final architecture is intentionally simple:

There is no:
Grid Infrastructure
ASM
Oracle Restart
RAC
The Oracle Home starts at 19.3 and is patched to 19.32.0.0.260721 before creating the database.
2. Create Oracle OS User and Directories
Create Oracle OS Groups and User
Switch to root:
sudo -i
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/useradd -u 501 -g oinstall -G dba oracle
mkdir -p /u01
chown -R oracle:oinstall /u01
Create Oracle Inventory and Software Directories
mkdir -p /u01/oracle/oraInventory
chown -R oracle:oinstall /u01/oracle/oraInventory
chmod -R 775 /u01/oracle/oraInventory
mkdir -p /u01/app/19.3.0/db
chown -R oracle:oinstall /u01/app/19.3.0/db
chown -R oracle:oinstall /u01/app
mkdir -p /u01/app/oracle/software
chown -R oracle:oinstall /u01/app/oracle/software
3. Prepare the Operating System
Firewall
For this lab environment, the firewall was stopped and disabled:
systemctl stop firewalld.service
systemctl disable firewalld.service
SELinux
SELinux was also configured as permissive for this installation.
vi /etc/selinux/config
SELINUX=permissive
In production environments, OS security requirements should always be evaluated before disabling or changing security controls.
Filesystem and 16GB Swap Configuration
The environment initially had an existing LVM-based file system.
The available partition was expanded using:
growpart /dev/sda 3
lvcreate -L 16G -n lv_swap ocivolume
swapoff -v /.swapfile
mkswap /dev/ocivolume/lv_swap
The /etc/fstab configuration was updated and the new swap space activated:
swapon -va
swapon -s
free -m
4. Configure Oracle Environment Variables
The Oracle user’s .bash_profile was configured with the required Oracle environment variables.
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export DB_HOME=/u01/app/19.3.0/db
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=CAOBS
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
Reload the profile:
source ~/.bash_profile
Validate:
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $ORACLE_SID
These variables define the Oracle Base, Oracle Home, and SID used throughout the installation.
5. Install Oracle Prerequisites
Install the Oracle Database 19c preinstallation package:
dnf install -y oracle-database-preinstall-19c
Update the operating system:
dnf update -y
If the kernel is updated, plan a reboot at the appropriate point before proceeding with the database installation.
6. Prepare Oracle 19c Software and Response File
Extract Oracle Database 19c
Extract the Oracle 19c software directly into the Database Home:
cd /u01/app/oracle/software
unzip -q V982063-01.zip -d /u01/app/19.3.0/db
This approach keeps the software staging area separate from the actual Oracle home.
Prepare the Silent Installation Response File
One of the important parts of this installation is that the Oracle software is installed without the graphical installer.
Copy the response file:
cp -prf /u01/app/19.3.0/db/install/response/db_install.rsp /u01/app/oracle/software/db_install.rsp
The important settings used were:
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
Set Installer Compatibility
For Oracle Linux 8.10:
export CV_ASSUME_DISTID=OEL8.10
7. Run Prerequisite Checks and Install Oracle 19c
Run Prerequisite Validation
Before installation:
/u01/app/19.3.0/db/runInstaller \
-executePrereqs \
-silent \
-responseFile /u01/app/oracle/software/db_install.rsp
The prerequisite check completed successfully in the tested environment.
Install the Oracle Database Software
Start the silent installation:
/u01/app/19.3.0/db/runInstaller \
-silent \
-responseFile /u01/app/oracle/software/db_install.rsp
The installer completed successfully and requested execution of:
[root@caoraobs oracleoci]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
The inventory script configured the required Oracle Inventory permissions.
Then run:
[root@caoraobs oracleoci]# /u01/app/19.3.0/db/root.sh
Check /u01/app/19.3.0/db/install/root_caoraobs_2026-09-01_05-32-33-599893707.log for the output of root script
At this point, the Oracle 19c database software is installed. However, the initial Oracle Home is still at the base 19.3 release.
8. Verify the Base Oracle Home
Check the installed OPatch version, installed patches and inventory:
[oracle@caoraobs software]$ /u01/app/19.3.0/db/OPatch/opatch version
OPatch Version: 12.2.0.1.17
OPatch succeeded.
[oracle@caoraobs software]$ /u01/app/19.3.0/db/OPatch/opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
OPatch succeeded.
[oracle@caoraobs software]$ /u01/app/19.3.0/db/OPatch/opatch lsinventory | grep -i applied
Patch 29585399 : applied on Thu Apr 18 07:21:33 GMT 2019
Patch 29517242 : applied on Thu Apr 18 07:21:17 GMT 2019
9. Update OPatch and Apply RU 19.32
Update OPatch
Back up the existing OPatch directory:
mv OPatch OPatch_12.2.0.1.17
Extract the newer OPatch:
unzip -q /u01/app/oracle/software/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/db/
Set permissions & Ownership:
chmod 755 -R /u01/app/19.3.0/db/OPatch
chown oracle:oinstall -R /u01/app/19.3.0/db/OPatch
Verify:
/u01/app/19.3.0/db/OPatch/opatch version
Result:
OPatch Version: 12.2.0.1.52
Patch Oracle Database 19c to 19.32
The July 2026 CPU/RU package was staged and extracted. Apply the 19.32 Database Release Update
Move to the extracted Database RU directory:
cd /u01/app/oracle/software/39467003/39472050
Apply the RU:
$ORACLE_HOME/OPatch/opatch apply
The final inventory showed:
39472050; Database Release Update : 19.32.0.0.260721
29585399; OCW RELEASE UPDATE 19.3.0.0.0
The patch inventory confirmed successful application of the RU.
Validate with:
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory | grep -i applied
This is a good practice before creating the database because it ensures the Oracle Home is at the intended patch level.
10. Create the Database with DBCA
With the Oracle Home patched, the database can now be created.
This implementation uses:
- Single Instance
- Filesystem storage
- OMF
- CDB architecture
- One PDB
- Archive logging enabled
- AL32UTF8 character set
- 4 GB total database memory
The DBCA command used was:
dbca -silent -createDatabase \
-gdbName CAOBS \
-sid CAOBS \
-responseFile NO_VALUE \
-databaseConfigType SI \
-dbOptions JSERVER:true,ORACLE_TEXT:false,IMEDIA:false,CWMLITE:false,SPATIAL:false,OMS:false,APEX:false,
DV:false \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName CAPDB \
-pdbAdminPassword <PDB_PASSWORD> \
-databaseType MULTIPURPOSE \
-templateName New_Database.dbt \
-sysPassword <SYS_PASSWORD> \
-systemPassword <SYSTEM_PASSWORD> \
-storageType FS \
-datafileDestination /u01/app/oracle/data \
-recoveryAreaDestination /u01/app/oracle/redo \
-redoLogFileSize 50 \
-useOMF true \
-totalMemory 4096 \
-characterSet AL32UTF8 \
-sampleSchema false \
-enableArchive true \
-initParams sga_target=1536MB,pga_aggregate_target=512MB,nls_language=ENGLISH,nls_territory='AMERICA',processes=300,open_cursors=300 \
-automaticMemoryManagement false
There is no ASM diskgroup configuration involved.
Datafiles are placed under:
/u01/app/oracle/data
OMF is enabled using:
-useOMF true
The DBCA execution completed successfully and created:
CDB : CAOBS
PDB : CAPDB
11. Start and Verify the CDB and PDB
After database creation, connect using SQL*Plus:
[oracle@caoraobs ~]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Sep 2 03:35:29 2026
Version 19.32.0.0.0
Copyright (c) 1982, 2026, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1610612000 bytes
Fixed Size 9178400 bytes
Variable Size 385875968 bytes
Database Buffers 1207959552 bytes
Redo Buffers 7598080 bytes
Database mounted.
Database opened.
SQL> exit
The SQL*Plus version reported:
Version 19.32.0.0.0
Verify the PDB
SQL> conn /as sysdba
Connected.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 CAPDB MOUNTED
SQL> alter pluggable database CAPDB open read write;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 CAPDB READ WRITE NO
SQL> alter pluggable database CAPDB save state;
Pluggable database altered.
12. Validate SQL Patching and Database Components
After the database is created and opened, it is important to validate the database components.
Check DBA_REGISTRY_SQLPATCH
col ACTION_TIME format a30
col ACTION format a15
col status format a15
col description format a55
col target_build_description format a30
set lines 200 pages 100
select target_build_description,PATCH_UID,PATCH_ID,ACTION,STATUS,ACTION_TIME,DESCRIPTION from dba_registry_sqlpatch;
The result showed the RU successfully applied:
Release_Update
PATCH_ID : 39472050
ACTION : APPLY
STATUS : SUCCESS
Database Release Update : 19.32.0.0.260721
Check REGISTRY$HISTORY
set pagesize 10000
set linesize 300
col version format a30
col comments format a70
col ACTION_TIME format a30
select action_time, action, version, comments
from sys.registry$history
order by 1 desc;
The history confirmed the 19.32 RU application.
Check DBA_REGISTRY
set line 200
column comp_name format a40
col version format a20
column version_full format a20
column status format a20
select comp_name, version, version_full, status, modified from dba_registry;
The relevant database components showed:
COMP_NAME VERSION VERSION_FULL STATUS MODIFIED
---------------------------------------- ----------- ----------- --------- ----------------------
Oracle Database Catalog Views 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:17
Oracle Database Packages and Types 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:17
Oracle Real Application Clusters 19.0.0.0.0 19.32.0.0.0 OPTION OFF 01-SEP-2026 06:55:55
JServer JAVA Virtual Machine 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:21
Oracle XDK 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:21
Oracle Database Java Packages 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:21
Oracle XML Database 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:18
Oracle Workspace Manager 19.0.0.0.0 19.32.0.0.0 VALID 01-SEP-2026 07:07:20
Oracle Real Application Clusters showed:
OPTION OFF
which is expected for this standalone, non-RAC deployment.
13. Final Architecture and Conclusion
The completed environment is:
Oracle Linux 8.10
↓
Oracle Database 19c
↓
RU 19.32.0.0.260721
↓
Single Instance
↓
Filesystem Storage
↓
Oracle Managed Files
↓
CAOBS CDB
↓
CAPDB PDB
There is no dependency on:
Grid Infrastructure
ASM
Oracle Restart
RAC
The deployment demonstrates that Oracle Database 19c can be installed on Oracle Linux 8.10 as a standalone single-instance database using filesystem storage and OMF.
The overall process was:
Prepare OL 8.10
↓
Create Oracle User and Directories
↓
Install Oracle Prerequisites
↓
Extract Oracle 19.3 Software
↓
Prepare Silent Response File
↓
Run Prerequisite Checks
↓
Install Oracle Database Software
↓
Run Root Scripts
↓
Verify 19.3 Oracle Home
↓
Upgrade OPatch
↓
Apply RU 19.32
↓
Verify Patch Inventory
↓
Create CDB/PDB with DBCA
↓
Open and Save PDB State
↓
Validate SQL Patching
↓
Validate Database Components
For environments that do not require RAC, ASM, Grid Infrastructure, or Oracle Restart, this provides a straightforward Oracle 19c architecture with significantly less infrastructure complexity.
📂 Detailed Installation Commands & Execution Output
The complete command sequence and actual execution output from this deployment are available in the accompanying GitHub log.
This article documents my own hands-on installation and troubleshooting experience. Always verify Oracle certification, RU requirements, platform-specific prerequisites, and your organization’s security standards before implementing the same procedure in production.
👉 Oracle 19c Oracle Linux 8.10 — Single Instance Installation Commands & Execution Output