Applying the Oracle 19c RU 19.31 Patch is essential for improving database security, performance, stability, and Oracle support compliance. In this step-by-step guide, you will learn how to apply the Oracle 19c RU 19.31 Patch on Oracle Database 19c running on Linux using the OPatch utility. This tutorial covers prerequisite checks, OPatch upgrade, patch installation, datapatch execution, rollback steps, and post-patch verification for Oracle 19c standalone database environments.
Steps to Apply RU Patch on Oracle 19c Database:
- Environment Details
- Download the patch from MOS (My Oracle Support)
- Unzip Patch
- OPatch Utility version check and Update OPatch Utility
- Check Applied List of patches
- Verify applied patches list dba_registry_sqlpatch
- Check Conflict
- Shutdown Database
- Stop Listener
- Backup Oracle Home/Inventory
- Apply Patch
- Check Applied List of patches
- Start LISTENER
- Startup Database
- Apply SQL changes (datapatch)
- Verify from dba_registry_sqlpatch
- Verify INVALID objects
Environment Details:
Platform : Linux x86_64
Hostname : orakldba.localdomain
DB Version (Current) : Oracle 19c (19.30)
File system : Normal
RAC : No
CDB : Yes
No of PDBs : 1
DB Name : CDB1
PDB Name : ORCLPDB
Oracle Home : /u01/app/oracle/product/19c/dbhome_1
Patch Location : /u02/softwares/39034528
Central Inventory : /u01/app/oraInventoryDownload the patch from MOS (My Oracle Support):

Unzip Patch:
[oracle@orakldba ~]$ cd /u02/softwares
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ ls -ltrh
total 2.3G
-rwxr-xr-x. 1 oracle oinstall 131M May 23 13:16 p6880880_190000_Linux-x86-64.zip
-rwxr-xr-x. 1 oracle oinstall 2.2G May 23 13:17 p39034528_190000_Linux-x86-64.zip
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ unzip p39034528_190000_Linux-x86-64.zip
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ ls -ltrh
total 2.3G
drwxr-xr-x. 5 oracle oinstall 81 May 14 16:19 39034528
-rw-rw-r--. 1 oracle oinstall 2.5M May 22 17:46 PatchSearch.xml
-rwxr-xr-x. 1 oracle oinstall 131M May 23 13:16 p6880880_190000_Linux-x86-64.zip
-rwxr-xr-x. 1 oracle oinstall 2.2G May 23 13:17 p39034528_190000_Linux-x86-64.zip
[oracle@orakldba softwares]$OPatch Utility version check and Update OPatch Utility:
[oracle@orakldba ~]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.51
OPatch succeeded.
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
The OPatch utility version is a critical prerequisite before applying any Oracle Release Update (RU) patch. In this environment, the current OPatch version is 12.2.0.1.51, which satisfies the minimum required version 12.2.0.1.49 or later for applying this Oracle 19c RU patch successfully.
Oracle strongly recommends using the latest available OPatch 12.2.0.1.xx release for Oracle Database 19c environments to avoid patching issues and ensure compatibility with the latest Release Updates (RU) and one-off patches.
You can download the latest OPatch utility from My Oracle Support (MOS) Patch 6880880 by selecting:
Patch Name: OPatch
Release: OPatch for DB 19.0.0.0.0
Platform: Select your operating system platform
If the installed OPatch version is lower than the required version, you must upgrade the OPatch utility before proceeding with the RU patch installation. The following steps can be used to upgrade the OPatch utility safely in Oracle Database 19c environments.
[oracle@orakldba ~]$ cd /u02/softwares/
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ ls -ltrh p6880880_190000_Linux-x86-64.zip
-rwxr-xr-x. 1 oracle oinstall 131M May 23 13:16 p6880880_190000_Linux-x86-64.zip
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ mv /u01/app/oracle/product/19c/dbhome_1/OPatch /u01/app/oracle/product/19c/dbhome_1/OPatch_old
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ unzip p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19c/dbhome_1
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$
[oracle@orakldba softwares]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.51
OPatch succeeded.
[oracle@orakldba OPatch]$Check Applied List of patches:
[oracle@orakldba ~]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./opatch lspatches
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
OPatch succeeded.
[oracle@orakldba OPatch]$Verify applied patches list dba_registry_sqlpatch:
SQL> select to_char(action_time, 'yyyy-mm-dd') as action_time, action, status, description, patch_id from sys.dba_registry_sqlpatch order by action_time;
ACTION_TIME ACTION STATUS DESCRIPTION PATCH_ID
------------ ---------- ---------- ---------------------------------------------------------------------- ----------
2026-05-19 APPLY SUCCESS Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161) 38632161
SQL>Check Conflict:
[oracle@orakldba ~]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./opatch prereq CheckConflictAgainstOHWithDetail -ph /u02/softwares/39034528
Oracle Interim Patch Installer version 12.2.0.1.51
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/oracle/product/19c/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.51
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2026-05-23_13-57-43PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
[oracle@orakldba OPatch]$Shutdown Database:
SQL> select name, database_role, open_mode, cdb from v$database;
NAME DATABASE_ROLE OPEN_MODE CDB
--------- ---------------- -------------------- ---
CDB1 PRIMARY READ WRITE YES
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL>
SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>Stop Listener:
[oracle@orakldba ~]$ ps -ef | grep tns
root 7 2 0 12:16 ? 00:00:00 [kworker/R-netns]
root 12 2 0 12:16 ? 00:00:00 [kworker/u16:1-netns]
oracle 7958 1 0 12:22 ? 00:00:00 /u01/app/oracle/product/19c/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle 15490 7844 0 14:09 pts/1 00:00:00 grep --color=auto tns
[oracle@orakldba ~]$
[oracle@orakldba ~]$
[oracle@orakldba ~]$ lsnrctl stop LISTENER
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 23-MAY-2026 14:10:18
Copyright (c) 1991, 2025, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orakldba)(PORT=1521)))
The command completed successfully
[oracle@orakldba ~]$
[oracle@orakldba ~]$
[oracle@orakldba ~]$ ps -ef | grep tns
root 7 2 0 12:16 ? 00:00:00 [kworker/R-netns]
root 12 2 0 12:16 ? 00:00:00 [kworker/u16:1-netns]
oracle 15502 7844 0 14:10 pts/1 00:00:00 grep --color=auto tns
[oracle@orakldba ~]$Backup Oracle Home/Inventory:
oraInventory Backup:
===================
[oracle@orakldba ~]$ cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
[oracle@orakldba ~]$
[oracle@orakldba ~]$
[oracle@orakldba ~]$ cd /u01/app
[oracle@orakldba app]$
[oracle@orakldba app]$
[oracle@orakldba app]$ tar -pcvf /u02/backup/OraInventory_Backup.tar oraInventory
oraInventory/
oraInventory/logs/
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/installerPatchActions_2026-05-19_06-47-02PM.log
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/installActions2026-05-19_06-47-02PM.log
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/installActions2026-05-19_06-47-02PM.err
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/installActions2026-05-19_06-47-02PM.out
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/time2026-05-19_06-47-02PM.log
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/oraInstall2026-05-19_06-47-02PM.out
oraInventory/logs/InstallActions2026-05-19_06-47-02PM/oraInstall2026-05-19_06-47-02PM.err
oraInventory/orainstRoot.sh
oraInventory/oraInst.loc
oraInventory/ContentsXML/
oraInventory/ContentsXML/inventory.xml
oraInventory/ContentsXML/oui-patch.xml
oraInventory/ContentsXML/comps.xml
oraInventory/ContentsXML/libs.xml
[oracle@orakldba app]$
[oracle@orakldba app]$
[oracle@orakldba app]$ ls -ltrh /u02/backup/OraInventory_Backup.tar
-rw-r--r--. 1 oracle oinstall 12M May 23 14:12 /u02/backup/OraInventory_Backup.tar
[oracle@orakldba app]$
ORACLE_HOME Backup:
===================
[oracle@orakldba app]$ cd /u01/app/oracle/product/
[oracle@orakldba product]$
[oracle@orakldba product]$
[oracle@orakldba product]$ ls -ltrh
total 0
drwxrwxr-x. 3 oracle oinstall 22 May 19 18:09 19c
[oracle@orakldba product]$
[oracle@orakldba product]$
[oracle@orakldba product]$ nohup tar -pcvf /u02/backup/Oracle_Home_Backup.tar 19c &
[1] 15567
[oracle@orakldba product]$ nohup: ignoring input and appending output to 'nohup.out'
[oracle@orakldba product]$
[oracle@orakldba product]$ jobs -l
[1]+ 15567 Running nohup tar -pcvf /u02/backup/Oracle_Home_Backup.tar 19c &
[oracle@orakldba product]$
[oracle@orakldba product]$
[oracle@orakldba product]$
[1]+ Done nohup tar -pcvf /u02/backup/Oracle_Home_Backup.tar 19c
[oracle@orakldba product]$
[oracle@orakldba product]$
[oracle@orakldba product]$ ls -ltrh /u02/backup/Oracle_Home_Backup.tar
-rw-r--r--. 1 oracle oinstall 12G May 23 14:17 /u02/backup/Oracle_Home_Backup.tar
[oracle@orakldba product]$Apply Patch:
[oracle@orakldba ~]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./opatch apply /u02/softwares/39034528
Oracle Interim Patch Installer version 12.2.0.1.51
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/product/19c/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.51
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2026-05-23_14-26-57PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 39034528
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/19c/dbhome_1')
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '39034528' to OH '/u01/app/oracle/product/19c/dbhome_1'
ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.datamining, 19.0.0.0.0 ] , [ oracle.java.sqlj.sqljruntime, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ] not present in the Oracle Home or a higher version is found.
Patching component oracle.rdbms.util, 19.0.0.0.0...
Patching component oracle.rdbms.rsf, 19.0.0.0.0...
Patching component oracle.rdbms, 19.0.0.0.0...
Patching component oracle.assistants.acf, 19.0.0.0.0...
Patching component oracle.assistants.deconfig, 19.0.0.0.0...
Patching component oracle.assistants.server, 19.0.0.0.0...
Patching component oracle.blaslapack, 19.0.0.0.0...
Patching component oracle.buildtools.rsf, 19.0.0.0.0...
Patching component oracle.wwg.plsql, 19.0.0.0.0...
Patching component oracle.ctx, 19.0.0.0.0...
Patching component oracle.dbdev, 19.0.0.0.0...
Patching component oracle.dbjava.ic, 19.0.0.0.0...
Patching component oracle.dbjava.jdbc, 19.0.0.0.0...
Patching component oracle.dbjava.ucp, 19.0.0.0.0...
Patching component oracle.duma, 19.0.0.0.0...
Patching component oracle.javavm.client, 19.0.0.0.0...
Patching component oracle.ldap.client, 19.0.0.0.0...
Patching component oracle.ldap.owm, 19.0.0.0.0...
Patching component oracle.ldap.rsf, 19.0.0.0.0...
Patching component oracle.ldap.security.osdt, 19.0.0.0.0...
Patching component oracle.marvel, 19.0.0.0.0...
Patching component oracle.network.rsf, 19.0.0.0.0...
Patching component oracle.nlsrtl.rsf, 19.0.0.0.0...
Patching component oracle.nlsrtl.rsf.core, 19.0.0.0.0...
Patching component oracle.nlsrtl.rsf.ic, 19.0.0.0.0...
Patching component oracle.odbc.ic, 19.0.0.0.0...
Patching component oracle.ons, 19.0.0.0.0...
Patching component oracle.ons.ic, 19.0.0.0.0...
Patching component oracle.oracore.rsf, 19.0.0.0.0...
Patching component oracle.perlint, 5.28.1.0.0...
Patching component oracle.precomp.common.core, 19.0.0.0.0...
Patching component oracle.precomp.rsf, 19.0.0.0.0...
Patching component oracle.rdbms.crs, 19.0.0.0.0...
Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...
Patching component oracle.rdbms.deconfig, 19.0.0.0.0...
Patching component oracle.rdbms.install.common, 19.0.0.0.0...
Patching component oracle.rdbms.oci, 19.0.0.0.0...
Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0...
Patching component oracle.rdbms.scheduler, 19.0.0.0.0...
Patching component oracle.rhp.db, 19.0.0.0.0...
Patching component oracle.rsf, 19.0.0.0.0...
Patching component oracle.sdo, 19.0.0.0.0...
Patching component oracle.sdo.locator.jrf, 19.0.0.0.0...
Patching component oracle.sqlj.sqljruntime, 19.0.0.0.0...
Patching component oracle.sqlplus, 19.0.0.0.0...
Patching component oracle.sqlplus.ic, 19.0.0.0.0...
Patching component oracle.tfa.db, 19.0.0.0.0...
Patching component oracle.wwg.plsql, 19.0.0.0.0...
Patching component oracle.xdk.rsf, 19.0.0.0.0...
Patching component oracle.rdbms.hs_common, 19.0.0.0.0...
Patching component oracle.javavm.server, 19.0.0.0.0...
Patching component oracle.rdbms.install.plugins, 19.0.0.0.0...
Patching component oracle.rdbms.locator, 19.0.0.0.0...
Patching component oracle.oraolap.api, 19.0.0.0.0...
Patching component oracle.rdbms.hsodbc, 19.0.0.0.0...
Patching component oracle.network.client, 19.0.0.0.0...
Patching component oracle.rdbms.drdaas, 19.0.0.0.0...
Patching component oracle.rdbms.dm, 19.0.0.0.0...
Patching component oracle.rdbms.rman, 19.0.0.0.0...
Patching component oracle.rdbms.rat, 19.0.0.0.0...
Patching component oracle.ovm, 19.0.0.0.0...
Patching component oracle.odbc, 19.0.0.0.0...
Patching component oracle.xdk.server, 19.0.0.0.0...
Patching component oracle.oraolap.dbscripts, 19.0.0.0.0...
Patching component oracle.xdk.xquery, 19.0.0.0.0...
Patching component oracle.network.listener, 19.0.0.0.0...
Patching component oracle.dbtoolslistener, 19.0.0.0.0...
Patching component oracle.ldap.rsf.ic, 19.0.0.0.0...
Patching component oracle.xdk.parser.java, 19.0.0.0.0...
Patching component oracle.sdo.locator, 19.0.0.0.0...
Patching component oracle.ctx.rsf, 19.0.0.0.0...
Patching component oracle.ldap.ssl, 19.0.0.0.0...
Patching component oracle.oraolap, 19.0.0.0.0...
Patching component oracle.mgw.common, 19.0.0.0.0...
Patching component oracle.install.deinstalltool, 19.0.0.0.0...
Patching component oracle.rdbms.dv, 19.0.0.0.0...
Patching component oracle.xdk, 19.0.0.0.0...
Patching component oracle.nlsrtl.rsf.lbuilder, 19.0.0.0.0...
Patching component oracle.ctx.atg, 19.0.0.0.0...
Patching component oracle.network.aso, 19.0.0.0.0...
Patching component oracle.rdbms.lbac, 19.0.0.0.0...
Patching component oracle.precomp.lang, 19.0.0.0.0...
Patching component oracle.precomp.common, 19.0.0.0.0...
Patching component oracle.jdk, 1.8.0.201.0...
Patch 39034528 successfully applied.
Sub-set patch [38632161] has become inactive due to the application of a super-set patch [39034528].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /u01/app/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2026-05-23_14-26-57PM_1.log
OPatch succeeded.
[oracle@orakldba OPatch]$Check Applied List of patches:
[oracle@orakldba ~]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./opatch lspatches
39034528;Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
OPatch succeeded.
[oracle@orakldba OPatch]$Start LISTENER:
[oracle@orakldba ~]$ lsnrctl start LISTENER
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 23-MAY-2026 15:15:12
Copyright (c) 1991, 2025, Oracle. All rights reserved.
Starting /u01/app/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/orakldba/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orakldba)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orakldba)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 23-MAY-2026 15:15:12
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/orakldba/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orakldba)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
[oracle@orakldba ~]$Startup Database:
[oracle@orakldba ~]$ . oraenv
ORACLE_SID = [ORCL] ? CDB1
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@orakldba ~]$
[oracle@orakldba ~]$
[oracle@orakldba ~]$ !sq
sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat May 23 15:15:25 2026
Version 19.31.0.0.0
Copyright (c) 1982, 2026, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 1610612032 bytes
Fixed Size 9178432 bytes
Variable Size 419430400 bytes
Database Buffers 1174405120 bytes
Redo Buffers 7598080 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select name, database_role, open_mode, cdb from v$database;
NAME DATABASE_ROLE OPEN_MODE CDB
--------- ---------------- -------------------- ---
CDB1 PRIMARY READ WRITE YES
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL>Apply SQL changes (datapatch):
[oracle@orakldba ~]$ cd $ORACLE_HOME/OPatch
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$
[oracle@orakldba OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.31.0.0.0 Production on Sat May 23 15:17:46 2026
Copyright (c) 2012, 2026, Oracle. All rights reserved.
Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_30480_2026_05_23_15_17_46/sqlpatch_invocation.log
Connecting to database...OK
Gathering database info...done
Note: Datapatch will only apply or rollback SQL fixes for PDBs
that are in an open state, no patches will be applied to closed PDBs.
Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
(Doc ID 1585822.1)
Bootstrapping registry and package to current versions...done
Determining current state...done
Current state of interim SQL patches:
No interim patches found
Current state of release update SQL patches:
Binary registry:
19.31.0.0.0 Release_Update 260514003012: Installed
PDB CDB$ROOT:
Applied 19.30.0.0.0 Release_Update 260126024251 successfully on 19-MAY-26 10.10.14.096815 PM
PDB ORCLPDB:
Applied 19.30.0.0.0 Release_Update 260126024251 successfully on 19-MAY-26 10.36.33.565037 PM
PDB PDB$SEED:
Applied 19.30.0.0.0 Release_Update 260126024251 successfully on 19-MAY-26 10.36.33.565037 PM
Adding patches to installation queue and performing prereq checks...done
Installation queue:
For the following PDBs: CDB$ROOT PDB$SEED ORCLPDB
No interim patches need to be rolled back
Patch 39034528 (Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528)):
Apply from 19.30.0.0.0 Release_Update 260126024251 to 19.31.0.0.0 Release_Update 260514003012
No interim patches need to be applied
Installing patches...
Patch installation complete. Total patches installed: 3
Validating logfiles...done
Patch 39034528 apply (pdb CDB$ROOT): SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/39034528/28740323/39034528_apply_CDB1_CDBROOT_2026May23_15_20_46.log (no errors)
Patch 39034528 apply (pdb PDB$SEED): SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/39034528/28740323/39034528_apply_CDB1_PDBSEED_2026May23_15_21_42.log (no errors)
Patch 39034528 apply (pdb ORCLPDB): SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/39034528/28740323/39034528_apply_CDB1_ORCLPDB_2026May23_15_21_42.log (no errors)
SQL Patching tool complete on Sat May 23 15:22:43 2026
[oracle@orakldba OPatch]$Verify from dba_registry_sqlpatch:
SQL> select to_char(action_time, 'yyyy-mm-dd') as action_time, action, status, description, patch_id from sys.dba_registry_sqlpatch order by action_time;
ACTION_TIME ACTION STATUS DESCRIPTION PATCH_ID
------------ ---------- ---------- ---------------------------------------------------------------------- ----------
2026-05-19 APPLY SUCCESS Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161) 38632161
2026-05-23 APPLY SUCCESS Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528) 39034528
SQL>Verify INVALID objects:
SQL> select count(*) from dba_objects where status='INVALID';
COUNT(*)
----------
0
SQL>
If invalid objects exist, run recompilation:
SQL> @?/rdbms/admin/utlrp.sqlNow you have successfully applied Oracle RU19.31 Patch on your Oracle 19c Standalone database…!!!
I hope my written content will helped you. Your suggestions/feedback are most welcome from orakldba.com. Keep learning… Have a great day!!!
Please comment here for your any query related to above content. You can write to mail me through my Email.
Email :- orakldba@gmail.com
LinkedIn :- https://linkedin.com/in/prasantakirtaniya
Twitter :- https://twitter.com/prasantadba
Facebook Page :- https://www.facebook.com/orakldba
Website :- https://orakldba.com
ACE Profile :- https://ace.oracle.com/apex/ace/profile/prasantakirtaniya
Oracle Community :- https://community.oracle.com/customerconnect/profile/discussions/prasantakirtaniya
