Using Serviceguard Extension for RAC, 9th Edition, September 2010

How Serviceguard Works with Oracle 9i RAC
Serviceguard provides the cluster framework for Oracle, a relational database product in which
multiple database instances run on different cluster nodes. A central component of Real
Application Clusters is the distributed lock manager (DLM), which provides parallel cache
management for database instances. Each node in a RAC cluster starts an instance of the DLM
process when the Oracle instance starts and the instances then communicate with each other
over the network.
Group Membership
The group membership service (GMS) is the means by which Oracle instances communicate
with the Serviceguard cluster software. GMS runs as a separate daemon process that communicates
with the cluster manager. This daemon is an HP component known as cmgmsd.
The cluster manager starts up, monitors, and shuts down the cmgmsd. When an Oracle instance
starts, the instance registers itself with cmgmsd. If an Oracle instance fails, cmgmsd notifies other
members of the same group to perform recovery. If cmgmsd dies unexpectedly, Serviceguard
will fail the node with a TOC (Transfer of Control).
Configuring Packages for Oracle RAC Instances
Oracle instances can be configured as packages with a single node in their node list.
NOTE: Packages that start and halt Oracle instances (called instance packages) do not fail over
from one node to another, they are single-node packages. You should include only one NODE_NAME
in the package ASCII configuration file. The AUTO_RUN setting in the package configuration file
will determine whether the RAC instance will start up as the node joins the cluster. Your cluster
may include RAC and non-RAC packages in the same cluster.
Configuring Packages for Oracle Listeners
Oracle listeners can be configured as packages within the cluster (called listener packages). Each
node with a RAC instance can be configured with a listener package. Listener packages are
configured to automatically fail over from the original node to an adoptive node. When the
original node is restored, the listener package automatically fails back to the original node.
In the listener package ASCII configuration file, the FAILBACK_POLICY is set to AUTOMATIC.
The SUBNET is a set of monitored subnets. The package can be set to automatically startup with
the AUTO_RUN setting.
Each RAC instance can be configured to be registered with listeners that are assigned to handle
client connections. The listener package script is configured to add the package IP address and
start the listener on the node.
For example, on a two-node cluster with one database, each node can have one RAC instance
and one listener package. Oracle clients can be configured to connect to either package IP address
(or corresponding hostname) using Oracle Net Services. When a node failure occurs, existing
client connection to the package IP address will be reset after the listener package fails over and
adds the package IP address. For subsequent connections for clients configured with basic failover,
clients would connect to the next available listener package's IP address and listener.
Node Failure
RAC cluster configuration is designed so that in the event of a node failure, another node with
a separate instance of Oracle can continue processing transactions. Figure 1-3 shows a typical
cluster with instances running on both nodes.
Configuring Packages for Oracle RAC Instances 21