Oracle® OPatch User's Guide 10g Release 2 (10.2) for Windows and UNIX Part Number E15294-01 |
|
|
PDF · Mobi · ePub |
An Oracle Real Application Clusters (RAC) environment is one in which active instances can concurrently execute transactions on a shared database. Patching in an Oracle (RAC) environment is slightly different compared to patching a single node.
Real Application Clusters can be patched in three different ways:
All Node Patching
Rolling Patching
Minimum Downtime Patching
This chapter includes the following topics about patching Oracle RAC:
Specifying Node Names and Lists
All Node Patching
Rolling Patching
Minimum Downtime Patching
Interim patching using OPatch follows a similar approach as that performed by Oracle Universal Installer to detect an Oracle home and nodes of a cluster. OPatch interacts with the Oracle Universal Installer inventory through the Oracle Universal Installer Java SDK. If OPatch detects a cluster, it queries the inventory through Oracle Universal Installer to find the local node name and node list. If your node list is not updated, you can update it by using the -updateNodeList
flag of Oracle Universal Installer:
$ORACLE_HOME/oui/bin/<runInstaller or setup.exe> -updateNodeList ORACLE_ HOME=<oracle home location> "CLUSTER_NODES={<node1,node2,node3>}" -noClusterEnabled
You can bypass remote actions using the -local
flag. If you want to specify the local node or remote nodes of a Real Application Clusters setup to OPatch, you can use the LOCAL_NODE
or REMOTE_NODES
session variable and specify the node name(s):
$ORACLE_HOME/oui/bin/<runInstaller or setup.exe> ORACLE_HOME=<oracle home location> "REMOTE_NODES {<node1,node2,node3>}" LOCAL_NODE=<nodelist for example:node1>
If OPatch does not automatically detect an Oracle RAC or its nodes, you need to investigate the contents of the inventory and ensure that it is complete.
In All Node Patching, all Oracle RAC nodes are initially brought down and the patch is applied on all the nodes, then all the nodes are brought back up. This mode is normally used for very critical patches and it leads to maximum downtime. OPatch uses this mode as the default for patch applications unless specified otherwise.
Figure 5–1 shows an example of All Node Patching. In this example, Systems A,B, and C are nodes in this Oracle RAC. When you perform an All Node Patching in this cluster, you bring down systems A,B, and C and apply patches to all of these nodes. You then bring up systems A,B, and C again.
In Rolling Patching, each node is shut down, the patch is applied, then each node is brought back up again. This is done node by node separately until all nodes in Oracle RAC are patched. This is the most efficient mode of applying an interim patch to an Oracle RAC setup because this results in no downtime. Only some patches can be applied in this mode. The type is generally specified in the patch metadata.
Figure 5–2 shows an example of Rolling Patching. In this example, systems A,B, and C are nodes in this Oracle RAC. When you perform a Rolling Patching in this cluster, you bring down system A, and apply a patch to it, then bring it back up. You then do the same with systems B and C. The patch is thereby applied in a rolling fashion. The main advantage of this type of patching is that there is absolutely no downtime while applying patches because only one system is brought down at any given time.
In Minimum Downtime Patching, the nodes are divided into sets. Initially, the first set is shut down and the patch is applied to it. After this, the second set is shut down. The first set is brought up and patch is applied to the second set. The second set is also brought up now. All the nodes in the Real Application Clusters are now patched. This mode leads to less downtime for the Real Application Clusters when both the sets are brought down. This mode is executed by using -minimize_downtime
command line option. You can also activate this option from the response file.
Figure 5–3 shows an example of Minimum Downtime Patching. In this example, systems A,B, and C are nodes in this Oracle RAC. They are divided into two sets: set 1 contains systems A and B, and set 2 contains system C. When you perform Minimum Downtime Patching in this cluster, you shut down set 1 and apply a patch to it. You then shut down set 2, bring up set 1, and apply a patch to set 2. After applying the patch, you bring up set 2 again. Now both sets 1 and 2 are patched.