As of Oracle 22.214.171.124, ORACLE provide a new way to patch PSU which called Proactive Bundle Patch(DBBP) and replace the previous PSU.
With DBBP, applying patch is more easier. PSU is conflict with DBBP, if you want to apply DBBP in your database which PSUs are installed, you have to rollback all PSUs to make sure applying DBBP successfully.
Because DBBP covers more bug fixes than PSU, it's recommended to use DBBP to apply latest patches.
First, it's always essential to check the
opatch version, find the readme file in the patchset to meet the minimum version. In RAC environment, both
ORACLE_HOME Opatch should be replaced with target version.
- Reserve historical information
<ORACLE_HOME>/OPatch/opatch lsinventory -detail -oh <ORACLE_HOME> >/tmp/lsinv.info
- Run OPatch Conflict check
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/27968010/27547374
- One-off patch conflict detection and resolution
GRID_HOME/OPatch/opatchauto apply <UNZIPPED_PATCH_LOCATION>/27968010 -analyze
Running below commands on all nodes, this command require sequential execution, DO NOT run in both nodes parallel in RAC.
--with root user
lspatches will show latest patch numbers, but they're not yet applied to database.
Execute below commands in one of instance(RAC) with Oracle user id:
alter pluggable database all open;
--If an OJVM PSU is installed or planned to be installed, no further actions are necessary. Otherwise, the workaround of using the OJVM Mitigation patch can be activated. As SYSDBA do the following from the admin directory
SQL> exec dbms_java_dev.disable
- Upgrade rman catalog if any
rman catalog username/[email protected]
ET LINESIZE 400
- Execute as root to uninstall patches
- Update data dictionary with datapatch
In Linux platform, with error:
opatchauto/opatch apply failing with CLSRSC-46: Error: '<GRID_HOME>/suptools/tfa/release/tfa_home/jlib/jewt4.jar' does not exist
According to MOS: opatchauto/opatch apply failing with CLSRSC-46: Error: '<GRID_HOME>/suptools/tfa/release/tfa_home/jlib/jewt4.jar' does not exist (Doc ID 2409411.1), following the instructions:
cp -p $GRID_HOME/crs/sbs/crsconfig_fileperms.sbs $GRID_HOME/crs/sbs/crsconfig_fileperms.sbs.bak
cp -p $GRID_HOME/crs/utl/<node>/crsconfig_fileperms $GRID_HOME/crs/utl/<node>/crsconfig_fileperms.bak
Remove below lines in above files:
unix %ORA_CRS_HOME%/suptools/tfa/release/tfa_home/jlib/jdev-rt.jar %HAS_USER% %ORA_DBA_GROUP% 0644
unix %ORA_CRS_HOME%/suptools/tfa/release/tfa_home/jlib/jewt4.jar %HAS_USER% %ORA_DBA_GROUP% 0644
opatchauto resume again will proceed to apply patches.
This is related with [BUG 20244108 - QOPIPREP.BAT MODIFIES XML INVENTORY WHILE READING], after applying one-off patch Patch 20244108 everything works fine.