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

11
Figure 6: Internal file structure for modular packages
ASM file descriptor release
When an ASM disk group is dismounted on a node in the Serviceguard cluster, it is expected that the
ASM instance closes the related descriptors of files opened on the raw volumes underlying the
members of that ASM disk group. However, there may be a possibility that processes of the ASM
instance and client processes to the ASM instance may not close the descriptors.
Consider a configuration in which there are multiple databases using ASM to manage their storage
in a Serviceguard cluster. Assume each database stores its data in its own exclusive set of ASM
disk groups.
If the database instance is shutdown on a node and then its ASM disk groups are dismounted on that
node, some ASM background and client processes may still hold open file descriptors to the
underlying raw logical volumes. Hence an attempt at this point to deactivate the corresponding LVM
volume group(s) on the node may fail.
Oracle has provided interim patches with which the ASM background processes close the file
descriptors on the dismounted disk group volumes.
However, any client connections into the ASM instance using sqlplus or Oracle Enterprise Manager
(OEM) results in ASM foreground processes opening file descriptors on all the disk group volumes of
all the database instances, and these descriptors may not close on dismount of the disk group. Oracle
allows for terminating these foreground processes.
1
1
Refer to Oracle Metalink Service Request 7000214.993 at https://metalink.oracle.com (Oracle Metalink account required)
Serviceguard specific
configuration and logic
ASM/DB instance
Configuration File
Serviceguard
Package Manager
Instance specific
configuration and logic
ASM/DB Instance
Start/stop/monitor
sources
sources
calls
calls
calls
calls
Serviceguard Master
Control Script
ECMT Oracle Toolki t
Module Script
Toolkit start/ stop/ monitor scripts
(haoracle.sh, haoracle.mon,
haoracle_sql.sh, halistener.mon)
Toolkit Interface Script
(toolkit.sh)
Toolkit Configuration file
(haoracle.conf)