Using Serviceguard Extension for RAC, 8th Edition, March 2009
Do not define the RAC instance as a package service. Instead, include the commands that start up an
RAC instance in the customer_defined_run_commands section of the package control script.
Similarly, you should include the commands that halt an RAC instance in the
customer_defined_halt_commands section of the package control script.
Define the Oracle monitoring command as a service command, or else use the special Oracle
script provided with the ECM Toolkit.
Using the Command Line to Configure an Oracle RAC Instance Package
Serviceguard Manager provides a template to configure package behavior that is specific to an
Oracle RAC Instance package. The RAC Instance package starts the Oracle RAC instance, monitors
the Oracle processes, and stops the RAC instance.
The configuration of the RAC Instance Package make use of the Enterprise Cluster Master Toolkit
(ECMT) to start, monitor, and stop the Oracle database instance. For details on the use of ECMT,
reference ECMT documentation.
Each Oracle RAC database can have database instance running on all nodes of a SGeRAC cluster.
Therefore, it is not necessary to failover the database instance to a different SGeRAC node. This
is the main difference between an Oracle RAC Instance Package and a single instance Oracle
package.
Information for Creating the Oracle RAC Instance Package on a SGeRAC Node
Use the following steps to set up the pre-package configuration on a SGeRAC node:
1. Gather the RAC Instance SID_NAME. If you are using Serviceguard Manager, this is in the
cluster Properties.
Example: SID_NAME=ORACLE_TEST0
For an ORACLE RAC Instance for a two-node cluster, each node would have an SID_NAME.
2. Gather the RAC Instance package name for each node, which should be the same as the
SID_NAME for each node
Example: ORACLE_TEST0
3. Gather the shared volume group name for the RAC database. In Serviceguard Manager, see
cluster Properties.
Example: /dev/vgora92db
4. Create the Oracle RAC Instance Package directory /etc/cmcluster/pkg/${SID_NAME}
Example:/etc/cmcluster/pkg/ORACLE_TEST0
5. Copy the Oracle shell script templates from the ECMT default source directory to the package
directory. # cd /etc/cmcluster/pkg/${SID_NAME} # cp -p
/opt/cmcluster/toolkit/oracle/*
Example: # cd /etc/cmcluster/pkg/ORACLE_TEST0 # cp -p
/opt/cmcluster/toolkit/oracle/*
Edit haoracle.conf as per README
6. Gather the package service name for monitoring Oracle instance processes. In Serviceguard
Manager, this information can be found under the “Services” tab.
SERVICE_NAME[0]=${SID_NAME} SERVICE_CMD[0]=”etc/cmcluster/pkg/
${SID_NAME}/toolkit.sh” SERVICE_RESTART[0]=”-r 2”
Example: SERVICE_NAME[0]=ORACLE_TEST0 SERVICE_CMD[0]=”/etc/cmcluster/
pkg/ORACLE_TEST0/toolkit.sh” SERVICE_RESTART[0]=”-r 2”
Using Packages to Configure Startup and Shutdown of RAC Instances 111