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. These descriptors may not close on dismount of the disk group.

Oracle allows for terminating these foreground processes.

The toolkit package parameter KILL_ASM_FOREGROUNDS determines whether the scripts should kill the ASM foregrounds if the file descriptors are open on the dismounted disk group volumes. The ASM PMON process will recover any foreground processes that were killed. This parameter can be set either to yes or no only. The default value is “yes”.

The scripts will check to see if any ASM foreground processes of the form oracle <ASM_SID> have file descriptors open on the dismounted disk group volumes of the database instance. If this parameter is set to “yes”, and the ASM foregrounds have file descriptors open after dismount of the disk group, they will be removed using a SIGTERM signal by the scripts. Before removing the ASM foreground processes, the scripts will check every 3 seconds for a maximum of 12 seconds to see if the foreground processes have closed the file descriptors. If the file descriptors are closed within this 12 second timeout, then volume groups will be deactivated without waiting for the completion of this timeout. If this parameter is set to “no”, the ASM foregrounds will not be killed. However, when this parameter is set to “no”, and if ASM foregrounds have file descriptors open, volume group deactivation and hence the database instance package halt will fail.

Installing, Configuring, and Troubleshooting

Oracle ASM is part of the Oracle database server installation and does not require additional software from HP to operate in the Serviceguard environment.

Oracle 11gR2 onwards, the Oracle Clusterware software must be installed to use Oracle ASM.

Oracle ASM and ASM disk groups may be configured at the time of creating a database or before creating the database. Ensure that the LVM volume groups and raw disks have been prepared and activated prior to ASM disk group configuration or reconfiguration, as discussed in this document. Use the names of raw LVs contained in the LVM volume groups when configuring ASM disk groups. Ensure that each database instance uses different disk groups.

It is important to note that Oracle 11gR2 onwards, by default, the spfile of the ASM instance is stored on the ASM diskgroup. This is true only for the ASM instance and not for the database instance that uses the ASM diskgroup. For an ASM instance, the ECM Toolkit cannot verify the existence of the spfile on the ASM diskgroup. So, it is mandatory that a pfile is created from the spfile on the local disk, at a location that ECMT can access. The value of the PFILE attribute of the ASM instance package must point to the pfile that is created on the local disk.

Supporting Oracle ASM instance and Oracle database with ASM 35