Using Serviceguard Extension for RAC Version A.11.20 - (August 2011)

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.
The output of cmviewcl shows the current state of each dependency on each node where
the package is configured.
A failover or multi-node package may define dependencies on multiple multi-node packages.
Multiple failover or multi-node packages may depend on a multi-node package. Multi-level
dependencies can exist; for example, A depends on B which in turn depends on C, etc.
If A depends on B and B fails, A (the appropriate instance, if A is of type multi-node) is halted.
Why use multi-node packages/simple package dependencies for Oracle
RAC integration
As mentioned previously, we want to use packages to manage the storage for Oracle Clusterware
and RAC database instances. To make the case for the use of the SGeRAC package manager
enhancements, we need separate SGeRAC packages for Oracle Clusterware and the RAC database
instances.
If we have a package only for Oracle Clusterware, then the storage for each RAC database in
the cluster as well as for Oracle Clusterware must be managed out of the Oracle Clusterware
package. This approach could potentially create both a single point of failure as well as a
management bottleneck.
For example, if the storage for one database fails to start up on a given node (for example, because
an SLVM volume group containing part of the database fails to start up), the Oracle Clusterware
package will fail to start up Oracle Clusterware, and consequently none of the RAC database
instances will start up on that node. For some types of failure (for example, the SLVM volume group
is corrupt), the failure to start up the databases could be cluster-wide.
Another example: if we are in a CFS environment with a CFS for each RAC database, then we
need packages for each of the databases to properly model the dependency of a database instance
on its CFS. We cannot do this if there is only a package for Oracle Clusterware. Setting up the
dependency as between Oracle Clusterware and each CFS will result in inappropriate system
behavior (for example, after shutting down a RAC database instance on a node, we will not be
able to shut down its CFS on that node without shutting down Oracle Clusterware.)
If ASM over SLVM or ASM over raw disk is used as storage for oracle RAC database, he can
configure ASMDG MNP. This is a new enhancement to SGeRAC toolkit. This MNP decouples ASM
Disk Group management from OC MNP Package and creates an independent MNP package for
ASM DG management.
The VG for ASM Diskgroup will be specified in this new ASM DG Package configuration file
instead of OC Package configuration file. This package will be responsible for activating the VG
which contains the diskgroup for database and mounting and unmounting of the diskgroup. This
package will also monitor the state of diskgroup.
Configuring this package is mandatory only in metrocluster environment. However, it is only a
recommendation not mandatory in non metrocluster environment. You can configure CRS and RAC
MNP as suggested by the old toolkit.
Why use multi-node packages/simple package dependencies for Oracle RAC integration 83