High Availability for Oracle ASM using HP Serviceguard Solutions, September 2010

8
How the Oracle Database Toolkit starts/stops/monitors the ASM
instance
The Oracle database Toolkit MNP for the ASM instance provides start and stop functions for the ASM
instance and has a service for checking the status of the ASM instance.
The start function switches to the ASM software owner user id by executing the ‘su’ command. It starts
the ASM instance specified by the user using the sqlplus commands. The mounting of the ASM disk
groups associated with a database instance will be done before database instance startup after
volume group activation during the database package startup.
The stop function executes su to the ASM software owner user id. It stops the ASM instance using
sqlplus commands.
The monitor function contains a continuous loop to check if the ASM instance processes specified are
healthy. If the monitor function finds any process to have died, it means that the ASM instance has
either failed or been inappropriately shut down, that is, without using cmhaltpkg. The service that
invokes the function fails at this point and the Serviceguard package manager fails the corresponding
ASM MNP instance.
On ASM instance failure, all dependent database instances will be brought down and will be started
on the adoptive node.
How the Oracle Database Toolkit starts/stops/monitors the database
instance
The Oracle database Toolkit failover package for the database instance provides start and stop
functions for the database instance and has a service for checking the status of the database instance.
There will be a separate package for each database instance. Each database package has a simple
dependency on the ASM package. The package activates the volume groups in exclusive mode. The
start function executes su to the Oracle software owner user id. This function mounts the ASM disk
groups associated with the instance and starts the database instance specified by the user using the
sqlplus commands.
The stop function executes su to the Oracle software owner user id. The database instance is
shutdown using the sqlplus commands and the disk groups associated with the instance are
dismounted. After dismounting the disk groups, the logical volumes are checked to see if ASM has
closed its file descriptors.
If file descriptors are still open, necessary steps are taken to ensure that file descriptors are closed.
The package then deactivates the volume groups.
The monitor function contains a continuous loop to check if the database instance processes specified
are healthy. If the monitor function finds any process to have died, it means that the database
instance has either failed or been inappropriately shut down, that is, without using cmhaltpkg. The
service that invokes the function fails at this point and the Serviceguard package manager fails the
corresponding database failover package.
Consider two database instances DB0 and DB1. Each database instance uses its own disk group with
the disk group members on its own volume group. Figure 4 depicts the scenario when the ASM
instance and the database instances DB0 and DB1 start on nodes 1 and 2 respectively.