Using Serviceguard Extension for RAC, 10th Edition, April 2011
With these improvements, it became possible, using SGeRAC packages, to meet the sequencing
requirements mentioned above for the startup and shutdown of Oracle Clusterware and RAC
database instances with respect to the SGeRAC-managed storage used by these entities.
Serviceguard/Serviceguard Extension for RAC multi-node packages and simple
package dependencies
The new features in SG/SGeRAC that enable the framework provided by are multi-node packages
(MNPs) and simple package dependencies.
Configuring a SGeRAC package via the PACKAGE_TYPE attribute to be of type MULTI-NODE
allows the package to run on more than one node at once. MNPs have the following features:
• Each instance of an MNP behaves as a normal package but does not failover.
• FAILOVER_POLICY and FAILBACK_POLICY configuration attributes cannot be specified
for an MNP.
• Relocatable IP addresses cannot be configured for MNPs.
• Failures of package components such as services, EMS resources or subnets, will cause the
MNP to be halted only on the node on which the failure occurred. Unlike failover packages,
when an instance of an MNP fails, only node switching is set to disabled, rather than the
global AUTO_RUN.
• SG/SGeRAC Package Manager commands have been enhanced to manage MNPs:
cmviewcl has been enhanced to show the overall package status as a summary of the
status of package instances. If not all the configured instances of an MNP are running,
◦
a qualifier is added to the STATUS field of the form (<running>/<configured>) where
<running> indicates the number of instances running and <configured> indicates
the total number of configured instances. The status of each instance can also be displayed.
◦ cmrunpkg/cmhaltpkg have been enhanced to allow multiple -n parameters to be
specified to indicate the nodes to which the command is to be applied. Using these
commands, the instances of the MNP can be started and stopped independently. MNPs
can be started automatically by setting AUTO_RUN to YES.
Simple package dependencies are used to describe the dependency relationship between packages.
To configure package A with a simple package dependency on package B, we set the following
three attributes of package A:
• DEPENDENCY_NAME: Each dependency must have a unique name within the package which
is used to identify it.
• DEPENDENCY_CONDITION: Expression describing what must be true for the dependency to
be satisfied. The syntax is: <package name> = UP, where <package name> is the package
being depended on (B in this case).
• DEPENDENCY_LOCATION: Describes where the condition must be satisfied. For SGeRAC, the
only possible value for this attribute is SAME_NODE.
Simple package dependencies have the following features/restrictions:
• cmrunpkg will fail if the user attempts to start a package that has a dependency on another
package that is not running. The package manager will not attempt to start a package if its
dependencies are not met. If multiple packages are specified to cmrunpkg, they will be
started in dependency order. If the AUTO_RUN attribute is set to YES, the package manager
will start the packages automatically in dependency order.
• cmhaltpkg will fail if the user attempts to halt a package that has another package depending
on it that is still running. If multiple packages are specified to cmhaltpkg, they will be halted
in dependency order. During cmhaltcl or cmhaltnode, the package manager will halt
packages in dependency order.
Background 83