Opatch Failed With Error Code 21 Official
$ORACLE_HOME/cfgtoollogs/opatch/opatch-YYYY-MM_DD_HH-MM-SS.log Alternatively, you can run OPatch with the -log flag to specify a custom log path.
opatch apply -local But you omitted -local (on a non-RAC environment), it might fail. Try running:
Open the most recent log file and search for the first occurrence of the word "ERROR" or "SEVERE". The real error often appears several lines before the final "error code 21". Step 2: Check OPatch Version Run: opatch failed with error code 21
Checked inodes: df -i /tmp showed 100% inode usage due to millions of small temporary files. Cleaned /tmp and restarted. Patch succeeded. Case Study 3: Stale Inventory Lock After Power Outage Scenario: A power failure interrupted an OPatch session. After reboot, every OPatch command failed with error code 21.
The error message usually appears as:
This article provides a comprehensive examination of error code 21: its root causes, diagnostic steps, and proven solutions. By the end, you will not only understand why this error occurs but also have a clear action plan to resolve it and prevent it in the future. Before dissecting the error, it's essential to understand the tool itself. OPatch is a command-line utility that manages interim patches for Oracle products, including Oracle Database, Oracle Fusion Middleware, and Oracle Grid Infrastructure. Unlike regular patch set updates (PSUs) or Release Updates (RUs), interim patches address specific bugs.
$ORACLE_HOME/OPatch/opatch version Compare the version with the patch's README file. If the README specifies a minimum OPatch version (e.g., 13.9.4.2.0) and you have an older one, you must upgrade OPatch. Check available space in the Oracle home and /tmp : $ORACLE_HOME/cfgtoollogs/opatch/opatch-YYYY-MM_DD_HH-MM-SS
df -i /tmp df -i $ORACLE_HOME If space or inodes are critically low (e.g., 100% used), free up resources. Check for stale lock files: