This article explains the steps for applying the jvm patch on RAC. In the last post of mine. I have gone through the Patches and its types.

1. check for conflict

https://www.linkedin.com/in/dbaanuradhamudgalcd /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 the 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 the 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 :

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 databas

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:

About The Author

Leave a Reply