Document 244241.1
Document 244241.1
1
Copyright (c) 2023, Oracle. All rights reserved. Oracle Confidential.
APPLIES TO:
PURPOSE
This note is to describe the current support of OPatch for Real Application Clusters. Before reading opatch RAC Support,
you should be familiar with single-instance OPatch processing.
For more information about OPatch, please refer to Note 189489.1 - Oracle Data Server Interim Patch Installation (OPatch)
For more information about Oracle Clusterware (CRS) Rolling Upgrades, please refer to Note 338706.1
Also, refer to: note 1339140.1 - FAQ: OPatch/Patch Questions/Issues for Oracle Clusterware (Grid Infrastructure or CRS)
and RAC Environments
NOTE: The information in this document pre-dates the existence of 'opatchauto' and is therefore only relevant to
versions 12.1.0.X and lower when applying patches using a manual (non-opatchauto) methodology.
SCOPE
This document is intended for DBAs, System Administrators and Oracle Support Engineers who are going to apply Oracle
Interim Patche(s) on RAC environment.
DETAILS
In this mode, OPatch applies the patch to the local node first, then propagates the patch to all the other
nodes, and finally updates the inventory. All instances must be down during the whole patching process.
In this mode, OPatch patches the local node, asks users for a sub-set of nodes, which will be the first subset
of nodes to be patched. After the initial subset of nodes are patched, Opatch propagates the patch to the
other nodes and finally updates the inventory. The downtime would happen between the shutdown of the
second subset of nodes and the startup of the initial subset of nodes patched.
With this method, there is no downtime. Each node would be patched and brought up while all the other
nodes are up and running, resulting in no disruption of the system.
Rolling patching strategy incur no downtime, however, some rolling patches may incur downtime due to post-installation
steps, i.e. running sql scripts to patch the actual database. Please refer to patch readme to find out whether post-
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=180jd8df56_53&id=244241.1 1/4
9/5/23, 17:28 Document 244241.1
2 - Flow diagrams
All-Node Patch
Minimum downtime
To be eligible as a rolling patch, the patch needs to meet certain criterias, which are determined by Oracle developers. In
order to be applied in a "rolling fashion", the patch must be designated as a "rolling updatable patch" or simply "rolling
patch".
The algorithm used to decide which method is going to be used is the following:
When patches are released, they have a tag as "rolling" or "not rolling" patch. While most patches can be applied in a
rolling fashion, some patches can not be applied in this fashion. Patches that could potentially be installed on rolling
fashion include:
Only individual patches -- not patch sets -- will be “rollable”. It should also be noted that a merge patch of a “rolling patch”
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=180jd8df56_53&id=244241.1 2/4
9/5/23, 17:28 Document 244241.1
From 9.2.0.4 onwards, all patches released will be marked as a "rolling" or "not rolling patch", based on defined set of
rules. Patches previously released are packaged as "not rolling".
Because the set of rules currently defined are very conservative, patches released as "not rolling patches", either before
and after 9.2.0.4, may be eligible to be re-released as "rolling patches", after analysis from Oracle Development.
If you plan to apply a patch that is marked as "not rolling" and want to check if is possible to take advantage of the rolling
patch strategy, please contact Oracle Support.
- 10gR2 on Windows: opatch query -all [unzipped patch location] | findstr rolling
The command may not work if unzipped patch location has more than one patch sub-directory, example output while
checking CPU patches:
Please refer to patch readme to find out whether the patch is rolling patch or not.
6 - Current Limitations
Currently OPatch treats Shared File System, like CFS, as a single-instance patch. It means that OPatch will blindly
patch files under a given ORACLE_HOME knowing that other nodes will pick up the changes via the Shared File
System. Unfortunately, this means that OPatch cannot take advantage of a rolling patch on a Shared File System
environment; all nodes must be down throughout the patching process.
The Opatch strategies discussed above (All-Node, Min. Down-Time, and Rolling) presumes that all nodes will be
patched within 1 opatch command. Additionally, each node can be patched individually, at different times, using the
"-local" key word, which will patch only the local node.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=180jd8df56_53&id=244241.1 3/4
9/5/23, 17:28 Document 244241.1
In cluster environment, when applying/rolling back a patch, by default opatch will perform on all nodes unless option "-
local" is specified.
However, this is changed in opatch 11.2.0.3.16, 12.2.0.1.9 onward; with the change, by default opatch will work only on
local node.
REFERENCES
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=180jd8df56_53&id=244241.1 4/4