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

Page 83
Image 83
HP Serviceguard Extension for RAC (SGeRAC) manual