Below are the steps for applying the jvm patch on RAC.
1. check for conflict
cd /softdump/patch/JVM/22139226 opatch prereq CheckConflictAgainstOHWithDetail -ph ./ Oracle Interim Patch Installer version 12.1.0.1.10 Copyright (c) 2016, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /oracle/app/oracle/product/12.1.0.2 Central Inventory : /crsapp/app/oraInventory from : /oracle/app/oracle/product/12.1.0.2/oraInst.loc OPatch version : 12.1.0.1.10 OUI version : 12.1.0.2.0 Log file location : /oracle/app/oracle/product/12.1.0.2/cfgtoollogs/opatch/opatch2016-03-02_18-45-17PM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
2. Stop the CRS in both the nodes[From root]
cd $GRID_HOME/bin ./crsctl stop crs
3. set ORACLE_HOME,PATH,LD_LIBRARY_PATH
export ORACLE_HOME=/oracle/app/oracle/product/12.1.0.2 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib
4. Apply the patch in one node only [ from oracle]
-- go to patch location cd /softdump/patch/JVM/22139226 -- Apply opatch apply Oracle Interim Patch Installer version 12.1.0.1.10 Copyright (c) 2016, Oracle Corporation. All rights reserved. Oracle Home : /oracle/app/oracle/product/12.1.0.2 Central Inventory : /crsapp/app/oraInventory from : /oracle/app/oracle/product/12.1.0.2/oraInst.loc OPatch version : 12.1.0.1.10 OUI version : 12.1.0.2.0 Log file location : /oracle/app/oracle/product/12.1.0.2/cfgtoollogs/opatch/22139226_Mar_02_2016_18_46_31/apply2016-03-02_18-46-31PM_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 22139226 Do you want to proceed? [y|n] yy Could not recognize input. Please re-enter. y User Responded with: Y All checks passed. Provide your email address to be informed of security issues, install and initiate Oracle Configuration Manager. Easier for you if you use your My Oracle Support Email address/User Name. Visit http://www.oracle.com/support/policies.html for details. Email address/User Name: You have not provided an email address for notification of security issues. Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: y This node is part of an Oracle Real Application Cluster. Remote nodes: 'b2cprod2' Local node: 'b2cprod1' Please shut down Oracle instances running out of this ORACLE_HOME on all the nodes. (Oracle Home = '/oracle/app/oracle/product/12.1.0.2') Are all the nodes ready for patching? [y|n] y User Responded with: Y Backing up files... Applying interim patch '22139226' to OH '/oracle/app/oracle/product/12.1.0.2' ApplySession: Optional component(s) [ oracle.sqlj, 12.1.0.2.0 ] not present in the Oracle Home or a higher version is found. Patching component oracle.javavm.server, 12.1.0.2.0... Patching component oracle.javavm.server.core, 12.1.0.2.0... Patching component oracle.rdbms.dbscripts, 12.1.0.2.0... Patching component oracle.rdbms, 12.1.0.2.0... Patching component oracle.javavm.client, 12.1.0.2.0... chmod: invalid mode -------------------------------------------------------------------------------- *************************************************************************************************** *************************************************************************************************** ** ATTENTION ** ** ** ** It is critical and essential to complete the post installation (if you applying the patch) or ** ** post deinstallation (if you are doing rollback of the patch) as per Readme to have a working ** ** and functional Oracle JavaVM Component. ** ** Failure to follow the instructions could lead to inconsistencies in the database. ** ** ** *************************************************************************************************** *************************************************************************************************** -------------------------------------------------------------------------------- Patching in all-node mode. Updating nodes 'b2cprod2' Apply-related files are: FP = "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/copy_files.txt" DP = "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/copy_dirs.txt" MP = "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/make_cmds.txt" RC = "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/remote_cmds.txt" Instantiating the file "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/copy_files.txt.instantiated" by replacing $ORACLE_HOME in "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/copy_files.txt" with actual path. Propagating files to remote nodes... Instantiating the file "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/copy_dirs.txt.instantiated" by replacing $ORACLE_HOME in "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/copy_dirs.txt" with actual path. Propagating directories to remote nodes... Instantiating the file "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/make_cmds.txt.instantiated" by replacing $ORACLE_HOME in "/oracle/app/oracle/product/12.1.0.2/.patch_storage/NApply/2016-03-02_18-46-31PM/rac/make_cmds.txt" with actual path. Running command on remote node 'b2cprod2': cd /oracle/app/oracle/product/12.1.0.2/rdbms/lib; /usr/ccs/bin/make -f ins_rdbms.mk javavm_refresh ioracle ORACLE_HOME=/oracle/app/oracle/product/12.1.0.2 || echo REMOTE_MAKE_FAILED::>&2 All nodes have been patched. You may start Oracle instances on the local system and nodes 'b2cprod2' Patch 22139226 successfully applied. Log file location: /oracle/app/oracle/product/12.1.0.2/cfgtoollogs/opatch/22139226_Mar_02_2016_18_46_31/apply2016-03-02_18-46-31PM_1.log OPatch succeeded.
5. Start CRS on both the nodes
su -root ./crsctl start crs
Post patch installation:
1. Make cluster_database to false
alter system set cluster_database=false scope=spfile;
2. start the database in upgrade in one node :
srvctl stop database -d B2CPRE SQL> startup upgrade ORACLE instance started. Total System Global Area 2.4159E+11 bytes Fixed Size 7650192 bytes Variable Size 2.0831E+11 bytes Database Buffers 3.2212E+10 bytes Redo Buffers 1066090496 bytes Database mounted. Database opened.
3. Run datapatch
$ORACLE_HOME/OPatch/datapatch -verbose SQL Patching tool version 12.1.0.2.0 on Sun Aug 14 18:19:27 2016 Copyright (c) 2016, Oracle. All rights reserved. Log file for this invocation: /oracle/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_47513_2016_08_14_18_19_27/sqlpatch_invocation.log Connecting to database...OK Bootstrapping registry and package to current versions...done Determining current state...done Current state of SQL patches: Patch 22674709 (Database PSU 12.1.0.2.160419, Oracle JavaVM Component (Apr2016)): Installed in the SQL registry only Patch 23177536 (Database PSU 12.1.0.2.160719, Oracle JavaVM Component (JUL2016)): Installed in the binary registry only Bundle series PSU: ID 160719 in the binary registry and ID 160719 in the SQL registry Adding patches to installation queue and performing prereq checks... Installation queue: The following patches will be rolled back: 22674709 (Database PSU 12.1.0.2.160419, Oracle JavaVM Component (Apr2016)) The following patches will be applied: 23177536 (Database PSU 12.1.0.2.160719, Oracle JavaVM Component (JUL2016)) Installing patches... Patch installation complete. Total patches installed: 2 Validating logfiles... Patch 22674709 rollback: SUCCESS logfile: /oracle/app/oracle/cfgtoollogs/sqlpatch/22674709/20077446/22674709_rollback_B2CPRE_2016Aug14_18_20_48.log (no errors) Patch 23177536 apply: SUCCESS logfile: /oracle/app/oracle/cfgtoollogs/sqlpatch/23177536/20400009/23177536_apply_B2CPRE_2016Aug14_18_21_42.log (no errors) SQL Patching tool complete on Sun Aug 14 18:21:42 2016
4. Make cluster_data to true and start the database
alter system set cluster_database=true scope=spfile; SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. - start the database srvctl start database -d B2BCRMPD
5. Check the entry in dba_registry_sqlpatch:
SQL> select patch_id,status,description,action from dba_registry_sqlpatch; PATCH_ID STATUS DESCRIPTION ACTION ---------- --------------- ---------------------------------------------------------------------------------------------------- --------------- 22291127 SUCCESS Database Patch Set Update : 12.1.0.2.160419 (22291127) APPLY 22674709 SUCCESS Database PSU 12.1.0.2.160419, Oracle JavaVM Component (Apr2016) APPLY 23054246 SUCCESS Database Patch Set Update : 12.1.0.2.160719 (23054246) APPLY 22674709 SUCCESS Database PSU 12.1.0.2.160419, Oracle JavaVM Component (Apr2016) ROLLBACK 23177536 SUCCESS Database PSU 12.1.0.2.160719, Oracle JavaVM Component (JUL2016) APPLY
SEE ALSO
Applying JVM patch in standalone database
Applying psu patch in oracle standalone database
Will this patch work in container database PDB CDB?
I will share document for container document also.