Inspect the inventory with OPatch and run pre-patch checks
OraclePatching & LifecycleCommand
# OPatch version (must meet the minimum in the patch README; update with patch 6880880 if needed)
$ORACLE_HOME/OPatch/opatch version
# Installed patches: short list / detailed inventory
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
# Pre-apply checks (in the unzipped patch directory):
cd /u01/stage/<patch_id>
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -ph ./
# For Grid Infrastructure / RAC homes (as root), analyze mode:
# opatchauto apply /u01/stage/<patch_id> -analyzeWhat it does
Lists the binary patches (RUs, one-offs) applied to the Oracle Home and checks, before applying a new patch, whether it conflicts with existing patches and whether there is enough disk space.
When to use it
Before a quarterly RU/security patch, when support asks for inventory output on an SR, and when comparing the patch level of two environments.
Caution
Run the commands as the OS user owning the Oracle Home (oracle); opatchauto requires root. Prereq checks are read-only and do not affect the database, but if a conflict is reported, do not apply before obtaining a merge/overlay patch from Oracle Support. Back up the Oracle Home (tar) and the inventory before applying.