Friday, September 25, 2026
  • About Us
  • Contact
DBAInsight
  • Guides
    • 23ai
    • RMAN
    • 26ai
    • Patch Update
    • RMAN
    • MySQL
    • Oracle GoldenGate
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification
NEWSLETTER
No Result
View All Result
DBAInsight
Home Patch Update

Oracle 19c MRP 19.31.0.0.260818 – Patch 39834048

September 14, 2026
in Patch Update
1
39834048
0
SHARES
50
VIEWS

Recently, I applied Oracle Database 19c MRP 19.31.0.0.260818 (Patch 39834048) to an Oracle RAC environment.

In this post, I’m sharing the actual commands I used, the important output from each step, and a couple of warnings I found during the patching process.

Table of Contents

Toggle
      • Related posts
      • When “Invalid Objects” Isn’t What It Looks Like: A GSMADMIN_INTERNAL Detective Story
      • Oracle Database MRP 19.32.0.0.260915: Patch 39971265 Installation Guide
    • Environment
    • OPatch Prerequisite Check
    • Stop the Database Before Patching
    • Applying the MRP
    • OPatch Completed Successfully
  • Running Datapatch Sanity Checks
    • Warning 1 – PDB Was Mounted
  • Warning 2 – Old Dictionary Statistics
  • Run Datapatch
    • Datapatch Found an Interim Patch
  • Datapatch Installation Queue
  • SQL Patch Applied Successfully
  • Check the Installed Patches
  • Don’t Forget DBA_REGISTRY_SQLPATCH
  • OPatch vs Datapatch
  • Final Verification
      • 1. Check Oracle Home
      • 2. Check SQL patches
      • 3. Check PDBs
      • 4. Check invalid objects
      • 5. Check database components
  • Conclusion

Related posts

GSMADMIN_INTERNAL

When “Invalid Objects” Isn’t What It Looks Like: A GSMADMIN_INTERNAL Detective Story

September 24, 2026
MRP 19.32.0.0.260915

Oracle Database MRP 19.32.0.0.260915: Patch 39971265 Installation Guide

September 18, 2026

The main tools used were:

  • OPatch
  • datapatch
  • opatch lspatches

Environment

The Oracle Home used for the patching was:

/u01/app/oracle/product/19.0.0/dbhome_1

First, I started the MRP installation with:

/u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatch napply /u01/patch/39834048

OPatch reported:

Oracle Interim Patch Installer version 12.2.0.1.52

Oracle Home       : /u01/app/oracle/product/19.0.0/dbhome_1
OPatch version    : 12.2.0.1.52
OUI version       : 12.2.0.7.0

So the first thing to notice is that the Oracle Home was using OPatch 12.2.0.1.52.


OPatch Prerequisite Check

OPatch first checked the environment and showed the patches that were going to be installed:

OPatch continues with these patches:

38494116
38937302
39052286
39060241
39234501
39290842
39429942
39498075
39575331
39594515
39598920
39661089
39661105
39661114
39750798
39779336

It then asked:

Do you want to proceed? [y|n]

I selected:

y

The prerequisite checks completed successfully.


Stop the Database Before Patching

OPatch then reminded me that the Oracle instances using this Oracle Home needed to be stopped:

Please shutdown Oracle instances running out of this ORACLE_HOME
on the local system.

Is the local system ready for patching? [y|n]

After making sure the environment was ready, I selected:

y

OPatch then started applying the patches.


Applying the MRP

The patching process started with:

Backing up files...

Applying interim patch '38494116'

Then the remaining patches were applied one by one:

Applying interim patch '38937302'
Applying interim patch '39052286'
Applying interim patch '39060241'
Applying interim patch '39234501'
...
Applying interim patch '39750798'
Applying interim patch '39779336'

There were also some messages about optional components not being present:

Optional component(s) [ oracle.oid.client, 19.0.0.0.0 ]
not present in the Oracle Home or a higher version is found.

I didn’t treat these as errors because OPatch continued normally and the patch installation completed successfully.


OPatch Completed Successfully

At the end, OPatch gave the important confirmation:

Patches 38494116,38937302,39052286,39060241,39234501,
39290842,39429942,39498075,39575331,39594515,39598920,
39661089,39661105,39661114,39750798,39779336 successfully applied.

OPatch succeeded.

At this point, the Oracle Home was patched.

But we are not finished yet.

The next step is the database SQL patching.


Running Datapatch Sanity Checks

Before running datapatch, I ran:

/u01/app/oracle/product/19.0.0/dbhome_1/OPatch/datapatch -sanity_checks

The check completed successfully, but it showed two warnings that were worth looking at.

Most of the checks were:

Database component status - OK
PDB Violations - OK
Invalid System Objects - OK
Tablespace Status - OK
Backup jobs - OK
Temp file exists - OK
Temp file online - OK
Data Pump running - OK
Oracle Database Keystore - OK
Scheduled Jobs - OK
Central Inventory - OK

So overall, the environment looked healthy.


Warning 1 – PDB Was Mounted

One warning caught my attention:

Check: Container status - WARNING

The output showed:

Datapatch will only run in containers with READ WRITE,
MIGRATE (upgrade) or READ ONLY mode.

It also showed:

HOST_NAME  NAME      OPEN_MODE
rac-node1  TESTPDB   MOUNTED

This is something to check before running datapatch.

If a PDB is expected to be patched, it needs to be in an appropriate state.

I normally check the PDB status with:

SELECT NAME, OPEN_MODE
FROM V$PDBS;

For example:

NAME       OPEN_MODE
---------- ----------
PDB$SEED   READ ONLY
TESTPDB    READ WRITE

The important thing is to make sure the PDBs that should receive the SQL patch are open appropriately.


Warning 2 – Old Dictionary Statistics

The second warning was:

Check: Dictionary statistics gathering - WARNING

The reason was:

Data dictionary statistics are older than 7 days.

Oracle suggested:

EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
EXEC DBMS_SYSTEM.GATHER_FIXED_OBJECTS_STATS;

This is worth checking before patching, especially in a production environment.


Run Datapatch

After the checks, I ran:

/u01/app/oracle/product/19.0.0/dbhome_1/OPatch/datapatch -verbose

Datapatch started:

SQL Patching tool version 19.31.0.0.0

Connecting to database...OK
Gathering database info...done

It then checked what was already installed.


Datapatch Found an Interim Patch

The important part of the output was:

Current state of interim SQL patches:

Interim patch 39060241 (Fix for Bug 39060241):

Binary registry: Installed

PDB CDB$ROOT: Not installed
PDB PDB$SEED: Not installed
PDB TESTPDB: Not installed

This is a good example of why we need both OPatch and datapatch.

The binary patch was already installed in the Oracle Home, but the SQL part had not yet been applied to the database.

Datapatch therefore added patch 39060241 to the installation queue.


Datapatch Installation Queue

The queue showed:

For the following PDBs:
CDB$ROOT
PDB$SEED
TESTPDB

No interim patches need to be rolled back
No release update patches need to be installed

The following interim patches will be applied:

39060241 (Fix for Bug 39060241)

Everything looked as expected.

Datapatch then started installing it.


SQL Patch Applied Successfully

The output showed:

Patch 39060241 apply (pdb CDB$ROOT): SUCCESS

Patch 39060241 apply (pdb PDB$SEED): SUCCESS

Patch 39060241 apply (pdb TESTPDB): SUCCESS

And finally:

SQL Patching tool complete

So the SQL patching completed successfully for all three containers.


Check the Installed Patches

After completing the patching, I checked the Oracle Home using:

/u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatch lspatches

The output included:

39779336;Fix for Bug 39779336
39750798;Fix for Bug 39750798
39661114;Fix for Bug 39661114
39661105;Fix for Bug 39661105
39661089;Fix for Bug 39661089
39598920;MERGE ON DATABASE RU 19.31.0.0.0 OF 39060101 39127997 39128024
39594515;Fix for Bug 39594515
39575331;Fix for Bug 39575331
39498075;MERGE ON DATABASE RU 19.31.0.0.0 OF 39360889 39370763
39429942;DB_DOMAIN NAME CHANGED TO UPPER CASE AUTOMATICALLY
39290842;Fix for Bug 39290842
39234501;Fix for Bug 39234501
39060241;Fix for Bug 39060241
39052286;Fix for Bug 39052286
38937302;AFTER APPLYING 19.30 DBRU THE AUTOTASK SQL TUNING ADVISOR GETS ORA-13602
38494116;Fix for Bug 38494116
39034528;Database Release Update : 19.31.0.0.260421
36240578;OCW RELEASE UPDATE 19.23.0.0.0

And, most importantly:

OPatch succeeded.

Don’t Forget DBA_REGISTRY_SQLPATCH

I also recommend checking the SQL patch registry after running datapatch.

Run:

SELECT
    PATCH_ID,
    ACTION,
    STATUS,
    ACTION_TIME,
    DESCRIPTION
FROM DBA_REGISTRY_SQLPATCH
ORDER BY ACTION_TIME DESC;

For the interim patch we applied, you can specifically check:

SELECT
    PATCH_ID,
    ACTION,
    STATUS,
    DESCRIPTION
FROM DBA_REGISTRY_SQLPATCH
WHERE PATCH_ID = 39060241;

The expected result should show the patch as successfully applied.


OPatch vs Datapatch

One thing that can sometimes confuse people when patching Oracle Database is the difference between opatch and datapatch.

Simply put:

OPatch
   |
   +--> Patches Oracle Home binaries

and:

Datapatch
   |
   +--> Applies SQL changes to the database

So this:

OPatch succeeded.

does not necessarily mean the complete database patching process is finished.

I always check both sides.


Final Verification

After patching, my basic checklist is:

1. Check Oracle Home

opatch lspatches

2. Check SQL patches

SELECT PATCH_ID, ACTION, STATUS
FROM DBA_REGISTRY_SQLPATCH
ORDER BY ACTION_TIME DESC;

3. Check PDBs

SELECT NAME, OPEN_MODE
FROM V$PDBS;

4. Check invalid objects

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM DBA_OBJECTS
WHERE STATUS <> 'VALID';

5. Check database components

SELECT COMP_ID, COMP_NAME, VERSION, STATUS
FROM DBA_REGISTRY
ORDER BY COMP_ID;

Conclusion

For this patching exercise, Patch 39834048 – DATABASE MRP 19.31.0.0.260818 was successfully applied to the Oracle 19c Oracle Home.

The overall process was:

Patch 39834048
       |
       v
OPatch prerequisite checks
       |
       v
Stop database instances
       |
       v
OPatch napply
       |
       v
Oracle Home patched
       |
       v
datapatch -sanity_checks
       |
       v
Review warnings
       |
       v
datapatch -verbose
       |
       v
SQL patch applied
       |
       v
opatch lspatches
       |
       v
Final verification

The two warnings from datapatch -sanity_checks were particularly useful:

  • TESTPDB was in MOUNTED state.
  • Dictionary statistics were older than seven days.

The actual SQL patching completed successfully, with patch 39060241 applied to CDB$ROOT, PDB$SEED, and TESTPDB.

For me, the main takeaway is simple:

Don’t just look for OPatch succeeded. Always check datapatch and DBA_REGISTRY_SQLPATCH as well.

That gives you confidence that both the Oracle Home and the database itself are properly patched.

The commands and outputs in this article are based on the actual patching session provided for this MRP.

Oracle 23.26.3.0.0 August 2026 GI MRP Patching Using OPatchAuto on Oracle RAC

Oracle Critical Security Patch Update Advisory – August 2026

Tags: OPatch DatapatchOracle 19cOracle database patchingOracle MRPPatch 39834048
Previous Post

What Happens When the Cloud Region You Depend On Isn’t Actually Close to You

Next Post

Oracle RAC Node Addition Failed with INS-32156 Due to AHF Permissions

Next Post
INS-32156

Oracle RAC Node Addition Failed with INS-32156 Due to AHF Permissions

Comments 1

  1. Pingback: Oracle Database MRP 19.32.0.0.260915: Patch 39971265 Installation Guide

Leave a Reply Cancel reply

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

POPULAR NEWS

  • Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    0 shares
    Share 0 Tweet 0
  • How To Download And Install The Latest OPatch

    0 shares
    Share 0 Tweet 0
  • How to Install Oracle 19c Database on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

    0 shares
    Share 0 Tweet 0
  • Installing Oracle Database 26AI on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • About Us
  • Contact

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

No Result
View All Result
  • Home
  • Cloud & Modern DBs
  • Guides
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

Add as a preferred source on Google
Add as preferred source on Google