Friday, October 9, 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

How to Fix OPatchAuto “CheckRollbackable” Failure in Oracle Grid Infrastructure 26AI

February 2, 2026
in Patch Update, Troubleshooting
0
CheckRollbackable
0
SHARES
262
VIEWS

Patching Oracle Grid Infrastructure is a routine yet critical task for every DBA. While Oracle provides the powerful OPatchAuto utility to simplify rolling and non-rolling patching, real-world environments don’t always behave as expected.

In this article, we’ll walk through a real OPatchAuto failure scenario in Oracle Grid Infrastructure 23c, analyze the root cause, and demonstrate how the issue was resolved using a simple but effective fix. If you’ve ever encountered the frustrating error:

Table of Contents

Toggle
    • Related posts
    • Oracle 11g to 19c Upgrade: Block Change Tracking and Level 0 Backup
    • When datapatch Won’t Finish: An ORA-04021 Lock on DBMS_AQADM_SYS During a 19c RU Apply
  • Environment Overview
  • The Problem: OPatchAuto Binary Patch Failure
  • Key Error Symptoms in Logs
  • Understanding the Root Cause
  • The Solution: Recreate Missing .patch_storage Directories
  • Resuming the Patch with OPatchAuto
    • What Happened Next?
  • Successful Patch Summary
  • Lessons Learned & Best Practices
    • 1. Never Ignore .patch_storage
    • 2. Always Check Logs Carefully
    • 3. Use opatchauto resume
    • 4. Validate Permissions
  • Conclusion

Related posts

block chain tracking

Oracle 11g to 19c Upgrade: Block Change Tracking and Level 0 Backup

October 2, 2026
ORA-04021

When datapatch Won’t Finish: An ORA-04021 Lock on DBMS_AQADM_SYS During a 19c RU Apply

September 25, 2026

Prerequisite check “CheckRollbackable” on auto-rollback patches failed

How to Fix OPatchAuto CheckRollbackable Failure in Oracle Grid Infrastructure 26AI

Environment Overview

Before diving into the issue, here’s a quick look at the environment used in this patching activity:

  • Host: testdb
  • Oracle Home: /u01/app/grid
  • Grid Infrastructure Version: 23.0.0.0.0
  • Patch Bundle: 38729625
  • Patching Tool: OPatchAuto

The patch was applied using the following command:

/u01/app/grid/OPatch/opatchauto apply /home/oracle/patch/38729625 -oh /u01/app/grid -logLevel FINEST

Initial prerequisite checks and patch validation completed successfully. However, the problem surfaced during the binary patching phase.


The Problem: OPatchAuto Binary Patch Failure

During the patch application, OPatchAuto failed with the following error:

Command execution failed during patching in home: /u01/app/grid, host: testdb.
Command failed:  /u01/app/grid/OPatch/opatchauto  apply /home/oracle/patch/38729625 -oh /u01/app/grid -target_type has -binary -invPtrLoc /u01/app/grid/oraInst.loc -jre /u01/app/grid/opatchautocfg/db/jdk -persistresult /u01/app/grid/opatchautocfg/db/sessioninfo/sessionresult_testdb_siha_2.ser -analyzedresult /u01/app/grid/opatchautocfg/db/sessioninfo/sessionresult_analyze_testdb_siha_2.ser
Command failure output:
==Following patches FAILED in apply:

Patch: /home/oracle/patch/38729625/38743669
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-30-13PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException: Prerequisite check "CheckRollbackable" on auto-rollback patches failed.

Patch: /home/oracle/patch/38729625/38743682
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-30-13PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException: Prerequisite check "CheckRollbackable" on auto-rollback patches failed.

Patch: /home/oracle/patch/38729625/38743688
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-30-13PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException: Prerequisite check "CheckRollbackable" on auto-rollback patches failed.

Patch: /home/oracle/patch/38729625/38743695
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-30-13PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException: Prerequisite check "CheckRollbackable" on auto-rollback patches failed.

Patch: /home/oracle/patch/38729625/38743706
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-30-13PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException: Prerequisite check "CheckRollbackable" on auto-rollback patches failed.

After fixing the cause of failure Run opatchauto resume

]
OPATCHAUTO-68061: The orchestration engine failed.
OPATCHAUTO-68061: The orchestration engine failed with return code 1
OPATCHAUTO-68061: Check the log for more details.
OPatchAuto failed.

OPatchauto session completed at Wed Jan 28 13:31:19 2026
Time taken to complete the session 3 minutes, 35 seconds

As part of the failure summary, multiple sub-patches failed, including:

  • 38743669
  • 38743682
  • 38743688
  • 38743695
  • 38743706

Each failure pointed to a similar issue — OPatch was unable to access or validate rollback-related files stored under the .patch_storage directory.


Key Error Symptoms in Logs

A deeper look into the OPatch logs revealed repeated messages like:

/u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-30-13PM_1.log
  • .patch_storage directory does not exist or is not readable
  • Cannot copy file from 'README.txt'
  • OPatch cannot find cached file under .patch_storage

Example log snippet:

OPatch/jre does not exist. Adding /u01/app/grid/jdk/bin/java to oop dependency list
[Jan 28, 2026 1:31:17 PM] [INFO]    OPatch cannot find cached file under /u01/app/grid/.patch_storage/38743682_Jan_17_2026_11_49_04/unchanged_files.txt:
[Jan 28, 2026 1:31:17 PM] [INFO]    Patch 38743682:
                                    Copy Action: Directory "/u01/app/grid/.patch_storage/38743682_Jan_17_2026_11_49_04" does not exist or is not readable.
                                    'oracle.micronaut, 3.8.5.3.0': Cannot copy file from 'README.txt' to '/u01/app/grid/micronaut/patch/README.txt'
[Jan 28, 2026 1:31:17 PM] [INFO]    OPatch cannot find cached file under /u01/app/grid/.patch_storage/38743695_Jan_17_2026_11_49_50/unchanged_files.txt:
[Jan 28, 2026 1:31:17 PM] [INFO]    Patch 38743695:
                                    Copy Action: Directory "/u01/app/grid/.patch_storage/38743695_Jan_17_2026_11_49_50" does not exist or is not readable.
                                    'oracle.rhp.crs, 23.0.0.0.0': Cannot copy file from 'README.txt' to '/u01/app/grid/rhp/patch/README.txt'
[Jan 28, 2026 1:31:17 PM] [INFO]    OPatch cannot find cached file under /u01/app/grid/.patch_storage/38743706_Jan_17_2026_11_48_45/unchanged_files.txt:
[Jan 28, 2026 1:31:17 PM] [INFO]    Patch 38743706:
                                    Copy Action: Directory "/u01/app/grid/.patch_storage/38743706_Jan_17_2026_11_48_45" does not exist or is not readable.
                                    'oracle.usm, 23.0.0.0.0': Cannot copy file from 'README.txt' to '/u01/app/grid/lib/README.txt'
[Jan 28, 2026 1:31:17 PM] [INFO]    OPatch cannot find cached file under /u01/app/grid/.patch_storage/38743688_Jan_17_2026_11_49_55/unchanged_files.txt:
[Jan 28, 2026 1:31:17 PM] [INFO]    Patch 38743688:
                                    Copy Action: Directory "/u01/app/grid/.patch_storage/38743688_Jan_17_2026_11_49_55" does not exist or is not readable.
                                    'oracle.has.common, 23.0.0.0.0': Cannot copy file from 'README.txt' to '/u01/app/grid/srvm/admin/README.txt'
[Jan 28, 2026 1:31:17 PM] [INFO]    Prerequisite check "CheckRollbackable" on auto-rollback patches failed.
                                    The details are:

                                    Patch 38743682:

These errors clearly indicated that OPatchAuto expected certain rollback metadata directories to exist—but they were missing.


Understanding the Root Cause

OPatchAuto performs rollbackability checks before applying patches. This ensures that if something goes wrong, Oracle can safely roll back the changes.

In this case:

  • The Grid home already contained references to previous patch metadata
  • Required subdirectories under .patch_storage were missing
  • As a result, the CheckRollbackable prerequisite failed

This situation can occur due to:

  • Manual cleanup of .patch_storage
  • Incomplete patch rollback in the past
  • Filesystem or permission inconsistencies
  • Migration or cloning of Oracle homes

The Solution: Recreate Missing .patch_storage Directories

Fortunately, the fix was straightforward.

Based on the error messages, the missing directories were manually recreated under the Grid home. The following commands were executed as the oracle user:

mkdir -p /u01/app/grid/.patch_storage/38743682_Jan_17_2026_11_49_04
mkdir -p /u01/app/grid/.patch_storage/38743695_Jan_17_2026_11_49_50
mkdir -p /u01/app/grid/.patch_storage/38743706_Jan_17_2026_11_48_45
mkdir -p /u01/app/grid/.patch_storage/38743688_Jan_17_2026_11_49_55

No files needed to be copied manually—OPatchAuto only required the directories to exist so it could proceed with its rollback validation logic.


Resuming the Patch with OPatchAuto

Once the directories were created, the patching process was resumed using:

/u01/app/grid/OPatch/opatchauto resume

OPatchAuto successfully detected the existing session and continued from where it had failed.

What Happened Next?

  • Binary patching completed successfully
  • rootadd_rdbms.sh executed without errors
  • CRS services were restarted
  • Post-patch operations completed normally
[root@testdb 38729625]# /u01/app/grid/OPatch/opatchauto resume
Session log file is /u01/app/grid/cfgtoollogs/opatchauto/opatchauto2026-01-28_01-43-41PM.log
Resuming existing session with id SA3K

Start applying binary patch on home /u01/app/grid
Binary patch applied successfully on home /u01/app/grid


Running rootadd_rdbms.sh on home /u01/app/grid
Successfully executed rootadd_rdbms.sh on home /u01/app/grid




Performing postpatch operations on CRS - starting CRS service on home /u01/app/grid
Postpatch operation log file location: /u01/app/oracle/crsdata/testdb/crsconfig/hapatch_2026-01-28_01-50-50PM.log
CRS service started successfully on home /u01/app/grid

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:testdb
SIHA Home:/u01/app/grid
Version:23.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /home/oracle/patch/38729625/38743669
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-44-12PM_1.log

Patch: /home/oracle/patch/38729625/38743682
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-44-12PM_1.log

Patch: /home/oracle/patch/38729625/38743688
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-44-12PM_1.log

Patch: /home/oracle/patch/38729625/38743695
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-44-12PM_1.log

Patch: /home/oracle/patch/38729625/38743706
Log: /u01/app/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-01-28_13-44-12PM_1.log



OPatchauto session completed at Wed Jan 28 13:52:04 2026
Time taken to complete the session 8 minutes, 26 seconds

Successful Patch Summary

At the end of the process, OPatchAuto reported a clean success:

  • SIHA Home: /u01/app/grid
  • Version: 23.0.0.0.0
  • Status: Patching completed successfully

All sub-patches under bundle 38729625 were applied without further issues.


Lessons Learned & Best Practices

This issue highlights several important takeaways for Oracle DBAs:

1. Never Ignore .patch_storage

The .patch_storage directory is critical for OPatch rollback operations. Avoid manual cleanup unless explicitly recommended by Oracle Support.

2. Always Check Logs Carefully

OPatchAuto error messages can look intimidating, but they often point directly to the root cause if you read them closely.

3. Use opatchauto resume

There’s no need to re-run the entire patch. OPatchAuto’s resume feature is reliable and saves time.

4. Validate Permissions

Ensure the Oracle user has proper read/write access to the Grid home and its subdirectories.


Conclusion

OPatchAuto failures can be stressful—especially when CRS is down and production timelines are tight. However, as this scenario demonstrates, even critical-sounding errors like CheckRollbackable failures can have simple, non-invasive solutions.

By recreating missing .patch_storage directories and resuming the patch, Oracle Grid Infrastructure 23c was successfully patched without rollback, reinstallation, or downtime extension.

If you’re managing Oracle 19c or 23c environments, understanding OPatchAuto internals like this can save you hours of troubleshooting.

Happy patching 🚀
If you found this useful, feel free to share it with your fellow DBAs.

Tags: 26aiCheckRollbackableOPatchAuto
Previous Post

Oracle 26ai RAC Installation – Part 2: Database Software Installation & RAC Database Creation (DBCA)

Next Post

11 Cloud Migration Benefits You Should Know Before Moving to the Cloud

Next Post
Cloud Migration

11 Cloud Migration Benefits You Should Know Before Moving to the Cloud

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
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

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

    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