Patch 39034528 - Database Release Update 19.31.0.0.260421
OPATCH PLACEHOLDER <Patch 6880880>
How to install Opatch utility ?
1. Download the latest Opatch utility
Search for Patch 6880880 in MOS or from the URL
https://updates.oracle.com/download/6880880.html
2. Take a backup of older version of OPatch utility under $ORACLE_HOME and unzip the downloaded file
cd $ORACLE_HOME
mv OPatch OPatch.bkp
unzip <download directory>/p6880880_<version>_<platform>.zip
cd OPatch
./opatch version
| Description | OPatch 12.2.0.1.51 for DB 19.0.0.0.0 (Apr 2026) |
| Product | Oracle Global Lifecycle Management OPatch |
unzip p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME/
export PATH=$ORACLE_HOME/OPatch:$PATH
$ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.51
OPatch succeeded.
[oracle@oracent19c 39034528]$
[oracle@oracent19c 39034528]$ export PATH=$ORACLE_HOME/OPatch:$PATH
[oracle@oracent19c 39034528]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
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/db_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19c/db_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/db_1/cfgtoollogs/opatch/opatch2026-05-02_14-01-19PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
=====
pwd
/home/oracle/39034528
[oracle@oracent19c 39034528]$ opatch apply
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/db_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19c/db_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/db_1/cfgtoollogs/opatch/opatch2026-05-02_14-03-39PM_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
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/db_1')
Is the local system ready for patching? [y|n]
User Responded with: Y
Backing up files...
Applying interim patch '39034528' to OH '/u01/app/oracle/product/19c/db_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 [29517242] 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/db_1/cfgtoollogs/opatch/opatch2026-05-02_14-03-39PM_1.log
OPatch succeeded.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 VIHAAN MOUNTED
SQL> alter pluggable database VIHAAN open;
Pluggable database altered.
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 VIHAAN READ WRITE NO
SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.31.0.0.0
[oracle@oracent19c 39034528]$ cd cd $ORACLE_HOME/OPatch^C
[oracle@oracent19c 39034528]$ cd $ORACLE_HOME/OPatch
[oracle@oracent19c OPatch]$ ./datapatch -sanity_checks
SQL Patching sanity checks version 19.31.0.0.0 on Sat 02 May 2026 14:31:11 BST
Copyright (c) 2021, 2026, Oracle. All rights reserved.
Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260502_143111_13342/sanity_checks_20260502_143111_13342.log
Running checks
JSON report generated in /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260502_143111_13342/sqlpatch_sanity_checks_summary.json file
Checks completed. Printing report:
Check: Database component status - INFO
There should be no INVALID components prior patching due to risk of potential errors.
Listed components have a non-valid status.
For INVALID components: Run '?/rdbms/admin/utlrp.sql' (per container) to try recompiling invalid objects and restore component status.
For other non-valid status, depending on patch content warnings may be returned.
PDB$SEED:
| COMPONENT | STATUS |
|-----------+---------|
| SDO | INVALID |
|-----------+---------|
Check: PDB Violations - OK
Check: Invalid System Objects - WARNING
There should be no invalid objects in Oracle-maintained schemas before patching.
The following number of objects are invalid (per container).
Run '?/rdbms/admin/utlrp.sql' (per container) to try recompiling invalid objects.
For more details please review /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260502_143111_13342/sqlpatch_sanity_checks_invalid_objects.log file.
PDB$SEED:
| OWNER | OBJ_CNT |
|-------+---------|
| MDSYS | 7 |
|-------+---------|
Check: Tablespace Status - OK
Check: Backup jobs - OK
Check: Temp file exists - OK
Check: Temp file online - OK
Check: Data Pump running - OK
Check: Container status - OK
Check: Oracle Database Keystore - OK
Check: Dictionary statistics gathering - WARNING
Patching the database without recent data dictionary statistics gathered may lead to performance issues.
Data dictionary statistics are older than 7 days.
Run the following queries to start gathering the dictionary statistics:
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
EXEC DBMS_SYSTEM.GATHER_FIXED_OBJECTS_STATS;
Refer to MOS 457926.1 for more details.
PDB$SEED:
| LATEST | OPERATION | STATUS |
|-----------------+-------------------------+-----------|
| 17-APR-19 02:03 | gather_dictionary_stats | COMPLETED |
|-----------------+-------------------------+-----------|
Check: Scheduled Jobs - OK
Check: GoldenGate triggers - OK
Check: Logminer DDL triggers - OK
Check: Check sys public grants - OK
Check: Statistics gathering running - OK
Check: Optim dictionary upgrade parameter - OK
Check: Symlinks on oracle home path - OK
Check: Central Inventory - OK
Check: Java Virtual Machine Enable - OK
Check: Oracle Database Vault Enabled - OK
Check: Queryable Inventory database directories - OK
Check: Queryable Inventory locks - OK
Check: Queryable Inventory package - OK
Check: Queryable Inventory external table - OK
Check: Imperva processes - OK
Check: Guardium processes - OK
Check: Locale - OK
Refer to MOS Note 2975965.1 and debug log
/u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260502_143111_13342/sanity_checks_debug_20260502_143111_13342.log
SQL Patching sanity checks completed on Sat 02 May 2026 14:31:20 BST
[oracle@oracent19c OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.31.0.0.0 Production on Sat May 2 14:32:02 2026
Copyright (c) 2012, 2026, Oracle. All rights reserved.
Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_13415_2026_05_02_14_32_02/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 260426152757: Installed
PDB CDB$ROOT:
Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 16-AUG-23 16.55.46.884079
PDB PDB$SEED:
Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 16-AUG-23 17.01.23.623197
PDB VIHAAN:
Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 16-AUG-23 17.01.23.623197
Adding patches to installation queue and performing prereq checks...done
Installation queue:
For the following PDBs: CDB$ROOT PDB$SEED VIHAAN
No interim patches need to be rolled back
Patch 39034528 (Database Release Update : 19.31.0.0.260421 (39034528)):
Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.31.0.0.0 Release_Update 260426152757
No interim patches need to be applied
WARNING: Following components are NOT in a valid state.
This could cause patching failure. If it does, consider
running utlrp.sql to bring components to VALID state.
Then, re-run datapatch.
PDB$SEED : SDO [INVALID]
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/28700584/39034528_apply_ORCL_CDBROOT_2026May02_14_35_02.log (no errors)
Patch 39034528 apply (pdb PDB$SEED): SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/39034528/28700584/39034528_apply_ORCL_PDBSEED_2026May02_14_57_10.log (no errors)
Patch 39034528 apply (pdb VIHAAN): SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/39034528/28700584/39034528_apply_ORCL_VIHAAN_2026May02_14_57_12.log (no errors)
SQL Patching tool complete on Sat May 2 15:25:26 2026
[oracle@oracent19c OPatch]$ opatch lsinventory | grep -E "(^Patch.*applied)|(^Sub-patch)"
Patch 39034528 : applied on Sat May 02 14:17:50 BST 2026
Patch 29585399 : applied on Thu Apr 18 08:21:33 BST 2019
[oracle@oracent19c OPatch]$
select * from dba_registry_history;
select substr(comp_id,1,15) comp_id, substr(comp_name,1,30) comp_name, substr(version,1,10) version, status from dba_registry order by modified;
select * from sys.registry$history;
col COMP_NAME for a50
set lines 200
col action_time for a30
col comments for a30
col ACTION for a15
select action_time, action,namespace, version, id, bundle_series, comments from registry$history;
select action_time, action, version, id, comments from dba_registry_history order by action_time;
select COMMENTS, ACTION_TIME from sys.registry$history;
select COMP_NAME, VERSION, STATUS from dba_registry;
ACTION_TIME ACTION NAMESPACE VERSION ID COMMENTS BUNDLE_SERIES
------------------------------ --------------- ------------------------------ ------------------------------ ---------- ------------------------------ ------------------------------
BOOTSTRAP DATAPATCH 19 RDBMS_19.31.0.0.0DBRU_LINUX.X6
4_260424.1
16-AUG-23 16.55.41.456374 RU_APPLY SERVER 19.0.0.0.0 Patch applied on 19.3.0.0.0: R
elease_Update - 190410122720
02-MAY-26 14.56.22.865141 RU_APPLY SERVER 19.0.0.0.0 Patch applied from 19.3.0.0.0
to 19.31.0.0.0: Release_Update
- 260426152757
SQL>
COMP_ID COMP_NAME VERSION STATUS
------------------------------------------------------------ -------------------------------------------------- ---------------------------------------- --------------------------------------------
SDO Spatial 19.0.0.0.0 LOADING
XOQ Oracle OLAP API 19.0.0.0.0 VALID
CATPROC Oracle Database Packages and T 19.0.0.0.0 VALID
CATALOG Oracle Database Catalog Views 19.0.0.0.0 VALID
CATJAVA Oracle Database Java Packages 19.0.0.0.0 VALID
XML Oracle XDK 19.0.0.0.0 VALID
JAVAVM JServer JAVA Virtual Machine 19.0.0.0.0 VALID
XDB Oracle XML Database 19.0.0.0.0 VALID
CONTEXT Oracle Text 19.0.0.0.0 VALID
OWM Oracle Workspace Manager 19.0.0.0.0 VALID
ORDIM Oracle Multimedia 19.0.0.0.0 VALID
COMP_ID COMP_NAME VERSION STATUS
------------------------------------------------------------ -------------------------------------------------- ---------------------------------------- --------------------------------------------
APS OLAP Analytic Workspace 19.0.0.0.0 VALID
OLS Oracle Label Security 19.0.0.0.0 VALID
DV Oracle Database Vault 19.0.0.0.0 VALID
RAC Oracle Real Application Cluste 19.0.0.0.0 OPTION OFF
15 rows selected.
SQL>
ACTION_TIME ACTION NAMESPACE VERSION ID COMMENTS BUNDLE_SERIES
------------------------------ --------------- ------------------------------ ------------------------------ ---------- ------------------------------ ------------------------------
BOOTSTRAP DATAPATCH 19 RDBMS_19.31.0.0.0DBRU_LINUX.X6
4_260424.1
16-AUG-23 16.55.41.456374 RU_APPLY SERVER 19.0.0.0.0 Patch applied on 19.3.0.0.0: R
elease_Update - 190410122720
02-MAY-26 14.56.22.865141 RU_APPLY SERVER 19.0.0.0.0 Patch applied from 19.3.0.0.0
to 19.31.0.0.0: Release_Update
- 260426152757
SQL> SQL> SQL> SQL> SQL> SQL> SQL>
ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SERIES COMMENTS
------------------------------ --------------- ------------------------------ ------------------------------ ---------- ------------------------------ ------------------------------
BOOTSTRAP DATAPATCH 19 RDBMS_19.31.0.0.0DBRU_LINUX.X6
4_260424.1
16-AUG-23 16.55.41.456374 RU_APPLY SERVER 19.0.0.0.0 Patch applied on 19.3.0.0.0: R
elease_Update - 190410122720
02-MAY-26 14.56.22.865141 RU_APPLY SERVER 19.0.0.0.0 Patch applied from 19.3.0.0.0
to 19.31.0.0.0: Release_Update
- 260426152757
SQL>
ACTION_TIME ACTION VERSION ID COMMENTS
------------------------------ --------------- ------------------------------ ---------- ------------------------------
16-AUG-23 16.55.41.456374 RU_APPLY 19.0.0.0.0 Patch applied on 19.3.0.0.0: R
elease_Update - 190410122720
02-MAY-26 14.56.22.865141 RU_APPLY 19.0.0.0.0 Patch applied from 19.3.0.0.0
to 19.31.0.0.0: Release_Update
- 260426152757
BOOTSTRAP 19 RDBMS_19.31.0.0.0DBRU_LINUX.X6
4_260424.1
SQL>
COMMENTS ACTION_TIME
------------------------------ ------------------------------
RDBMS_19.31.0.0.0DBRU_LINUX.X6
4_260424.1
Patch applied on 19.3.0.0.0: R 16-AUG-23 16.55.41.456374
elease_Update - 190410122720
Patch applied from 19.3.0.0.0 02-MAY-26 14.56.22.865141
to 19.31.0.0.0: Release_Update
- 260426152757
[oracle@oracent19c OPatch]$ opatch lsinventory |grep -i "Database Release Update"
Patch description: "Database Release Update : 19.31.0.0.260421 (39034528)"
[oracle@oracent19c OPatch]$
opatch lsinventory |grep -i "Database Release Update"
Patch description: "Database Release Update : 19.31.0.0.260421 (39034528)"
[oracle@oracent19c OPatch]$
[oracle@oracent19c OPatch]$
[oracle@oracent19c OPatch]$ opatch lsinventory |grep -i "Patch"
Oracle Interim Patch Installer version 12.2.0.1.51
OPatch version : 12.2.0.1.51
Log file location : /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2026-05-02_15-36-25PM_1.log
Lsinventory Output file location : /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/lsinv/lsinventory2026-05-02_15-36-25PM.txt
Interim patches (2) :
Patch 39034528 : applied on Sat May 02 14:17:50 BST 2026
Unique Patch ID: 28700584
Patch description: "Database Release Update : 19.31.0.0.260421 (39034528)"
Patch 29585399 : applied on Thu Apr 18 08:21:33 BST 2019
Unique Patch ID: 22840393
Patch description: "OCW RELEASE UPDATE 19.3.0.0.0 (29585399)"
OPatch succeeded.
Patch 39034528 - Database Release Update 19.31.0.0.260421
This document is accurate at the time of release. For any changes and additional information regarding Database Release Update 19.31.0.0.260421, see these related documents that are available at My Oracle Support (http://support.oracle.com/):
Document KB869205 Oracle DB/GI/OJVM Update/Revision R19 Apr 2026 Known Issues
Document KB188772 Oracle Database 19c and Oracle AI Database 26ai Important Recommended One-off Patches
Document KB106822 Primary Note for Database Quarterly Release Updates
Document KA19 19c Database Upgrade - Self Guided Assistance with Best Practices
This document includes the following sections:
1 Patch Information
Database Release Update 19.31.0.0.260421 patches are cumulative. That is, the content of all previous Database bundles is included in the latest Database bundle patch.
To install the Database Release Update 19.31.0.0.260421 patch, the Oracle home must have Oracle Database release 19c installed.
This patch is Oracle RAC Rolling Installable.
This patch is Database Vault installable. See My Oracle Support document KB653211 Primary Note For Oracle Database Vault for details on how to apply this patch to a Database Vault environment.
This patch is Data Guard Standby-First Installable. See My Oracle Support document KB137118 Oracle Patch Assurance - Data Guard Standby-First Patch Apply for details on how to remove risk and reduce downtime when applying this patch.
This patch includes the JDK fixes released in the prior cycle and will update the JDK in the Oracle home. For the most recent JDK fixes, a separate patch is available and needs to be installed in addition to this patch. See My Oracle Support document KB106822 Primary Note for Database Quarterly Release Updates for the JDK patch number.
Beginning with 19.27 Apr2025 DBRU, Small Pages are not allowed for RDBMS SGA in Exadata. See My Oracle Support Document KB174916 for more details.
Beginning with 19.21 Oct2023 RU, the UTL_URI.ESCAPE function is now compliant with RFC 3896 and will treat "#" as a reserved character. See My Oracle Support Document PALRT1208 for more details.
Beginning with 19.22 Jan2024 RU, the 19c database is now certified on Oracle Linux 9.x and RHEL9.x.
Beginning with 19.18 Jan2023 RU, the DBRU contains the CORE DST Time Zone patches. Applying this Release Update (RU) does not change the DST version in any of your databases. The DST patches are only copied into $ORACLE_HOME/oracore/zoneinfo and no DST upgrade is performed. You can decide to upgrade the DST version in your database to a newer DST version independently of applying the RU at any time. Be aware that this incurs downtime.
You can decide to upgrade the DST version in your database to a newer DST version independently of applying the RU at any time. Be aware that this incurs downtime.
If you plan to adjust the DST version of your databases, Oracle recommends adjusting it to the latest available DST version. Follow the instructions in the Oracle 19c Oracle Database Upgrade Guide. For more information on various DST patch releases, see My Oracle Support document KB151444 Primary Note DST FAQ: Updated DST Transitions and New Time Zones in Oracle RDBMS and OJVM Time Zone File Patches.
This DBRU contains the following CORE DST patches:
| Patch Numbers | Patches |
|---|
| 28852325 | DSTV33 UPDATE - TZDATA2018G |
| 29997937 | DSTV34 UPDATE - TZDATA2019B |
| 31335037 | DSTV35 UPDATE - TZDATA2020A |
| 32327201 | DSTV36 UPDATE - TZDATA2020E |
| 33613829 | DSTV37 UPDATE - TZDATA2021E |
| 34006614 | DSTV38 UPDATE - TZDATA2022A |
| 34533061 | DSTV39 UPDATE - TZDATA2022C |
| 34698179 | DSTV40 UPDATE - TZDATA2022E |
| 35099667 | DSTV41 UPDATE - TZDATA2022G |
| 35220732 | DSTV42 UPDATE - TZDATA2023C |
| 36260493 | DSTV43 UPDATE - TZDATA2024A |
| 37537949 | DSTV44 UPDATE - TZDATA2025A |
Any new or changed database initialization parameters that might be included into a quarterly patch bundle would be documented in the Oracle Database Reference manual section on initialization parameters. For Oracle Database 19c, see Oracle Database Reference.
For the latest Update with Security Fixes that should be used on Client-Only installations, see the Critical Patch Update (CPU) Program Patch Availability Document (PAD) section on the Oracle Database, for the cycle in which you are interested.
Applying Database Release Update Database Release Update 19.31.0.0.260421 with Oracle JavaVM 19.x Updates
- For customers who want to install both patches together during a single downtime window, follow one of the Patching Options listed in the My Oracle Support document:
- KB139124 - Oracle Recommended Patches - "Oracle JavaVM Component Database PSU and Update" (OJVM PSU and OJVM Update) Patches.
- The Oracle JavaVM 19.x Release Update is available as a separate patch. That separate patch has some additional requirements if it is to be installed in a RAC Rolling fashion, as detailed in My Oracle Support document:
- KB137197 - RAC Rolling Install Process for the "Oracle JavaVM Component Database PSU/RU" (OJVM PSU/RU) Patches.
2 Prerequisites
It is highly recommended to take a backup of the Oracle_Home binaries and Central Inventory prior to applying patches. For further information, see My Oracle Support document KB137807 How to Perform ORACLE_HOME Backup?.
For SUSE Linux Enterprise Server (SLES) 15 SP3, and above, install the compat-libpthread-nonshared package. See section 5.5.12 in SUSE's release notes (for SLES 15 SP3) and Note KB117927.
This section includes the following section:
2.1 OPatch Utility
You must use the OPatch utility version 12.2.0.1.49 or later to apply this patch. Oracle recommends that you use the latest released OPatch version for 19c, which is available for download from My Oracle Support patch 6880880 by selecting "OPatch for DB 19.0.0.0.0" from the Select a Release dropdown. It is recommended that you download the OPatch utility and the patch in a shared location to be able to access them from any node in the cluster for the patch application on each node.
When patching the GI home, a shared locaton on Oracle ACFS only needs to be unmounted on the node where the GI home is being patched.
The new OPatch utility should be updated in all of the Oracle RAC database homes and the GI home that are being patched.
For each Oracle RAC database home and the GI home that are being patched, as the home owner, extract the OPatch utility.
For exact instructions to install OPatch, follow the OPatch readme.
A new feature has been added to OPatch to increase performance by deleting inactive patches. See My Oracle Support document KB104015 OPatch 12.2.0.1.37+ Introduces a New Feature to Delete Inactive Patches in the ORACLE_HOME/.patch_storage directory.
For information about OPatch documentation, including any known issues, see My Oracle Support document KB133615 Primary Note For OPatch.
3 Installation
These instructions are for all Oracle Database installations.
3.1 Patch Pre-Installation Instructions
Before you install Database Release Update 19.31.0.0.260421, perform the following actions to check the environment and to detect and resolve any interim patch conflicts.
3.1.1 Environments with Grid Infrastructure
This patch is not to be installed to an environment that has a Grid Infrastructure home. See the following My Oracle Support document KB106822 to determine the appropriate Grid infrastructure patch to be installed.
3.1.2 Environment Checks
Ensure that the $PATH definition has the following executables: make, ar, ld, and nm.
The location of these executables depends on your operating system. On many operating systems, they are located in /usr/ccs/bin, in which case you can set your PATH definition as follows:
export PATH=$PATH:/usr/ccs/bin
3.1.3 Interim Patch Conflict Detection and Resolution
The fastest and easiest way to determine whether you have interim patches in the Oracle home that conflict with Database Release Update 19.31.0.0.260421, and to get the necessary conflict resolution patches, is to use the Patch Recommendations and Patch Plans features on the Patches & Updates tab in My Oracle Support.
However, if you are not using My Oracle Support Patch Plans, the My Oracle Support Conflict Checker tool enables you to upload an OPatch inventory and check the patches that you want to apply to your environment for conflicts.
If no conflicts are found, you can download the patches. If conflicts are found, the tool finds an existing resolution to download. If no resolution is found, it will automatically request a resolution, which you can monitor in the Plans and Patch Requests region of the Patches & Updates tab.
For more information, see Knowledge Document KB135057 How to Use the My Oracle Support Conflict Checker Tool for Patches Installed with OPatch.
Or, use the following steps to manually discover conflicts and resolutions:
Determine whether any currently installed interim patches conflict with the patch being installed, 39034528:
| Step | Command |
|---|
1. | unzip p39034528_<version>_<platform>.zip |
2. | cd 39034528 |
3. | opatch prereq CheckConflictAgainstOHWithDetail -ph ./ |
The report indicates the patches that conflict and the patches that are a superset.
Use My Oracle Support document KB145571 Database Patch Conflict Resolution to determine, for each conflicting patch, whether a conflict resolution patch is already available, and if you need to request a new conflict resolution patch or if the conflict may be ignored.
When all the interim patches that you have requested are available at My Oracle Support, proceed with Section 3.2, "Patch Installation Instructions".
3.2 Patch Installation Instructions
Follow these steps:
If you are using a Data Guard Physical Standby database, you must install this patch on both the primary database and the physical standby database, as described by My Oracle Support document KB147888 How To Apply DBRU in a Data Guard Physical Standby Configuration (Non Standby-First Installable).
If this is an Oracle RAC environment, install this patch using the OPatch rolling (no downtime) installation method as this patch is rolling RAC installable. See My Oracle Support document KB139091 Rolling Patch - OPatch Support for RAC.
If this is not a RAC environment, shut down all instances and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator's Guide.
Set your current directory to the directory where the patch is located and then run the OPatch utility by entering the following Command:
| Step | Command |
|---|
1. | unzip -d <PATCH_TOP_DIR> p39034528_<version>_<platform>.zip |
2. | cd <PATCH_TOP_DIR> 39034528 |
3. | opatch apply |
If there are errors, refer to Section 5, "Known Issues".
3.3 Patch Post-Installation Instructions
On Oracle Database server, after installing the patch, perform the following actions. This is not required on Oracle Database client.
3.3.2 Load Modified SQL Files into the Database
The following steps load modified SQL files into the database. For an Oracle RAC environment, perform these steps on only one node.
Datapatch is run to complete the post-install SQL deployment for the patch being installed. For further details about Datapatch, including Known Issues and workarounds to common problems, see My Oracle Support document KB148594 Datapatch: Database 12c or later Post Patch SQL Automation and My Oracle Support document KB123801 Datapatch User Guide.
For each separate database running on the same shared Oracle home being patched, run the datapatch utility as described in Table 2.
- See My Oracle Support document KB150931 Multitenant Unplug/Plug Best Practices for more information about the procedure for unplugging/plugging with different patch releases (in both directions).
Check the following log files in $ORACLE_BASE/cfgtoollogs/sqlpatch/39034528/<unique patch ID> for errors:
39034528_apply_<database SID>_<CDB name>_<timestamp>.log
where database SID is the database SID, CDB name is the name of the multitenant container database, and timestamp is of the form YYYYMMMDD_HH_MM_SS.
Any (pluggable) database that has invalid objects after the execution of datapatch should have catcon.pl run to revalidate those objects. For example:
| Step | Command |
|---|
1. | export PATH=$PATH:$ORACLE_HOME/bin |
2. | cd $ORACLE_HOME/rdbms/admin |
3. | $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -e -b utlrp -d $ORACLE_HOME/rdbms/admin utlrp.sql |
3.3.3 Upgrade Oracle Recovery Manager Catalog
If you are using the Oracle Recovery Manager, the catalog needs to be upgraded. Enter the following command to upgrade it. The UPGRADE CATALOG command must be entered twice to confirm the upgrade.
| Step | Command |
|---|
1. | $ rman catalog username/password@alias |
2. | RMAN> UPGRADE CATALOG; |
3. | RMAN> UPGRADE CATALOG; |
4. | RMAN> EXIT; |
3.3.4 Bug Fixes That May Change an Existing Optimizer Execution Plan
At the successful conclusion of the patching event, none of the database bug fixes that may change an existing optimizer execution plan are delivered with the bug fix disabled by default. The status of any module bug fixes (which cause an execution plan change) that were in an enabled state prior to starting the patching event are preserved, but no new module bug fixes (which cause an execution plan change) are activated automatically.
Details on this, including the commands to explicitly enable such bug fixes are present in My Oracle Support document KB148297 Managing "installed but disabled" bug fixes in Database Release Updates using DBMS_OPTIM_BUNDLE.
3.3.5 Update Permissions for extjob
Database release update patch installation involves relinking of libraries and executables to be updated. This can sometimes result in permissions changing and needing to be updated. Execute the following as root user:
| Step | Command |
|---|
1. | # chown root $ORACLE_HOME/bin/extjob |
2. | # chmod 4750 $ORACLE_HOME/bin/extjob |
3.4 Patch Post-Installation Instructions for Databases Created or Upgraded after Installation of this patch in the Oracle Home
On Oracle Database server, you must execute the steps in Section 3.3.2, "Load Modified SQL Files into the Database" for any new database. There are no actions required for databases that have been upgraded. This is not required on Oracle Database client.
4 Deinstallation
These instructions apply if you need to deinstall the patch.
4.1 Patch Deinstallation Instructions for a Non-RAC Environment
Follow these steps:
Shut down all instances and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator's Guide.
Run the OPatch utility specifying the rollback argument as follows.
opatch rollback -id 39034528
If there are errors, refer to Section 5, "Known Issues".
4.2 Patch Post-Deinstallation Instructions for a Non-RAC Environment
On Oracle Database server, after deinstalling the patch, perform the following actions. This is not required on Oracle Database client.
Rollback SQL changes from the the Database, as explained in Section 4.2.1.
Upgrade Oracle Recovery Manager Catalog, as explained in Section 4.2.2.
4.2.1 Load Modified SQL Files into the Database
Datapatch is run to complete the post-deinstall SQL deployment for the patch being deinstalled. For further details about Datapatch, including Known Issues and workarounds to common problems, see My Oracle Support document KB148594 Datapatch: Database 12c or later Post Patch SQL Automation and My Oracle Support document KB123801 Datapatch User Guide.
Follow these steps:
For each separate database running on the same shared Oracle home being patched, run the datapatch utility as described in Table 3. If this is Oracle RAC, run datapatch on only one instance.
- See My Oracle Support document KB150931 Multitenant Unplug/Plug Best Practices for more information about the procedure for unplugging/plugging with different patch releases (in both directions).
Check the following log files in $ORACLE_BASE/cfgtoollogs/sqlpatch/39034528/<unique patch ID> for errors:
39034528_rollback_<database SID>_<CDB name>_<timestamp>.log
where database SID is the database SID, CDB name is the name of the multitenant container database, and timestamp is of the form YYYYMMMDD_HH_MM_SS.
Any (pluggable) database that has invalid objects after the execution of datapatch should have catcon.pl run to revalidate those objects. For example:
| Step | Command |
|---|
1. | cd $ORACLE_HOME/rdbms/admin |
2. | $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -e -b utlrp -d $ORACLE_HOME/rdbms/admin utlrp.sql |
4.2.2 Upgrade Oracle Recovery Manager Catalog
If you are using the Oracle Recovery Manager, the catalog needs to be upgraded. Enter the following command to upgrade it. The UPGRADE CATALOG command must be entered twice to confirm the upgrade.
| Step | Command |
|---|
1. | $ rman catalog username/password@alias |
2. | RMAN> UPGRADE CATALOG; |
3. | RMAN> UPGRADE CATALOG; |
4. | RMAN> EXIT; |
4.3 Patch Deinstallation Instructions for Oracle RAC Environment
Patch deinstallation instructions for Oracle RAC includes these environments:
Follow these steps for each node in the cluster, one node at a time.
Shut down the instance on the node.
Run the OPatch utility specifying the rollback argument as follows.
opatch rollback -id 39034528
If there are errors, refer to Section 5, "Known Issues".
Start the instance on the node as follows:
srvctl start instance
5 Known Issues
For information about OPatch issues, see My Oracle Support document KB133615 Primary Note For OPatch.
For issues documented after the release of this patch, see My Oracle Support document KB869205 Oracle DB/GI/OJVM Update/Revision R19 Apr 2026 Known Issues
Other issues are as follows.
- Issue 1
The following ignorable errors may be encountered while running the datapatch/catbundle.sql script or its rollback script:
ORA-00942: table or view does not exist
ORA-00955: name is already used by an existing object
ORA-01430: column being added already exists in table
ORA-01432: public synonym to be dropped does not exist
ORA-01434: private synonym to be dropped does not exist
ORA-01435: user does not exist
ORA-01917: user or role 'XDB' does not exist
ORA-01920: user name '<user-name>' conflicts with another user or role name
ORA-01921: role name '<role name>' conflicts with another user or role name
ORA-01927: cannot REVOKE privileges you did not grant
ORA-01952: system privileges not granted to 'WKSYS'
ORA-02289: sequence does not exist
ORA-02303: cannot drop or replace a type with type or table dependents
ORA-02443: Cannot drop constraint - nonexistent constraint
ORA-04043: object <object-name> does not exist
ORA-06512: at line <line number>. If this error follow any of above errors, then can be safely ignored.
ORA-14452: attempt to create, alter or drop an index on temporary table already in use
ORA-29809: cannot drop an operator with dependent objects
ORA-29830: operator does not exist
ORA-29832: cannot drop or replace an indextype with dependent indexes
ORA-29844: duplicate operator name specified
ORA-29931: specified association does not exist