Sun Cluster 3.0 5/02 Supplement

How to Register and Configure Sun Cluster HA for Oracle (5/02)

The following change was introduced in the Sun Cluster 3.0 5/02 update release and applies to this update and all subsequent updates to Sun Cluster 3.0 software.This procedure describes how to use the scrgadm command to register and configure Sun Cluster HA for Oracle.

This procedure includes creating the HAStoragePlus resource type. This resource type synchronizes actions between HAStoragePlus and the data service and enables you to use a highly available local file system. Sun Cluster HA for Oracle is disk-intensive, and therefore you should configure the HAStoragePlus resource type.

See the SUNW.HAStoragePlus(5) man page and "Relationship Between Resource Groups and Disk Device Groups" on page 5 for background information.


only -

Other options also enable you to register and configure the data service. See "Tools for Data Service Resource Administration" on page 10 for details about these options.


You must have the following information to perform this procedure.


only -

Perform this procedure on any cluster member.


  1. Become superuser on a cluster member.

  2. Run the scrgadm command to register the resource types for the data service.

    For Sun Cluster HA for Oracle, you register two resource types, SUNW.oracle_server and SUNW.oracle_listener, as follows.


    # scrgadm -a -t SUNW.oracle_server
    # scrgadm -a -t SUNW.oracle_listener
    

    -a

    Adds the data service resource type.

    -t SUNW.oracle_type

    Specifies the predefined resource type name for your data service.

  3. Create a failover resource group to hold the network and application resources.

    You can optionally select the set of nodes on which the data service can run with the -h option, as follows.


    # scrgadm -a -g resource-group [-h nodelist]
    -g resource-group

    Specifies the name of the resource group. This name can be your choice but must be unique for resource groups within the cluster.

    -h nodelist

    Specifies an optional comma-separated list of physical node names or IDs that identify potential masters. The order here determines the order in which the nodes are considered as primary during failover.


    only -

    Use the -h option to specify the order of the node list. If all of the nodes that are in the cluster are potential masters, you do not need to use the -h option.


  4. Verify that all of the network resources that you use have been added to your name service database.

    You should have performed this verification during the Sun Cluster installation.


    only -

    Ensure that all of the network resources are present in the server's and client's /etc/hosts file to avoid any failures because of name service lookup.


  5. Add a network resource to the failover resource group.


    # scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] 
    -l logical-hostname

    Specifies a network resource. The network resource is the logical hostname or shared address (IP address) that clients use to access Sun Cluster HA for Oracle.

    [-n netiflist]

    Specifies an optional, comma-separated list that identifies the NAFO groups on each node. All of the nodes in nodelist of the resource group must be represented in the netiflist. If you do not specify this option, scrgadm(1M) attempts to discover a net adapter on the subnet that the hostname list identifies for each node in nodelist. For example, -n nafo0@nodename, nafo0@nodename2.

  6. Register the HAStoragePlus resource type with the cluster.


    # scrgadm -a -t SUNW.HAStoragePlus
    

  7. Create the resource oracle-hastp-rs of type HAStoragePlus.


    # scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus \
     
    [If your database is on a raw device, specify the global device path.]
    -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl \
     
    [If your database in on a Cluster File Service, specify the global filesystem mount points.]
    -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs \
     
    [If your database is on a highly available local file system, secify the local filesystem mount points.]
    -x FilesystemMountPoints=/local/ora-data \
     
    [Set AffinityOn to true.]
    -x AffinityOn=TRUE
    


    only -

    AffinityOn must be set to TRUE and the local file system must reside on global disk groups to be failover.


  8. Run the scrgadm command to complete the following tasks and bring the resource group oracle-rg online on a cluster node.

    • Move the resource group into a managed state.

    • Bring the resource group online.

    This node will be made the primary for device group ora-set1 and raw device /dev/global/dsk/d1. Device groups associated with file systems such as /global/ora-inst and /global/ora-data/logs will also be made primaries on this node.


    # scrgadm -Z -g oracle-rg
    

  9. Create Oracle application resources in the failover resource group.


    # scrgadm -a -j resource -g resource-group \
    
    -t SUNW.oracle_server \ 
    -x Connect_string=user/passwd \
    -x ORACLE_SID=instance \
    -x ORACLE_HOME=Oracle-home \
    -x Alert_log_file=path-to-log \
    -y resource_dependencies=storageplus-resource
     
    # scrgadm -a -j resource -g resource-group \
    -t SUNW.oracle_listener \
    -x LISTENER_NAME=listener \
    -x ORACLE_HOME=Oracle-home \
    -y resource_dependencies=storageplus-resource
    

    -j resource

    Specifies the name of the resource to add.

    -g resource-group

    Specifies the name of the resource group into which the resources are to be placed.

    -t SUNW.oracle_server/listener

    Specifies the type of the resource to add.

    -x Alert_log_file=path-to-log

    Sets the path under $ORACLE_HOME for the server message log.

    -x Connect_string=user/passwd

    Specifies the user and password that the fault monitor uses to connect to the database. These settings must agree with the permissions that you set up in "How to Set Up Oracle Database Permissions" on page 23 in the Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide. If you use Solaris authorization, type a slash (/) instead of the user name and password.

    -x ORACLE_SID=instance

    Sets the Oracle system identifier.

    -x LISTENER_NAME=listener

    Sets the name of the Oracle listener instance. This name must match the corresponding entry in listener.ora.

    -x ORACLE_HOME=Oracle-home

    Sets the path to the Oracle home directory.


    only -

    When a fault occurs in an Oracle server resource and causes a restart, the whole resource group is restarted. Any other resources (such as Apache or DNS) in the resource group are restarted, even if they did not have a fault. To prevent other resources from being restarted along with an Oracle server resource, put them in a separate resource group.

    Optionally, you can set additional extension properties that belong to the Oracle data service to override their default values. See "Configuring Sun Cluster HA for Oracle Extension Properties" in the Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide for a list of extension properties.


  10. Run the scswitch command to complete the following task.

    • Enable the resource and fault monitoring.


      # scswitch -Z -g resource-group
      
      -Z

      Enables the resource and monitor, moves the resource group to the managed state, and brings it online.

      -g resource-group

      Specifies the name of the resource group.

Example - Registering Sun Cluster HA for Oracle

The following example shows how to register Sun Cluster HA for Oracle on a two-node cluster.


Cluster Information
Node names: phys-schost-1, phys-schost-2
Logical Hostname: schost-1
Resource group: resource-group-1 (failover resource group)
Oracle Resources: oracle-server-1, oracle-listener-1
Oracle Instances: ora-lsnr (listener), ora-srvr (server)
 
(Add the failover resource group to contain all of the resources.)
# scrgadm -a -g resource-group-1
 
(Add the logical hostname resource to the resource group.)
# scrgadm -a -L -g resource-group-1 -l schost-1 
 
(Register the Oracle resource types)
# scrgadm -a -t SUNW.oracle_server
# scrgadm -a -t SUNW.oracle_listener
 
(Add the Oracle application resources to the resource group.)
# scrgadm -a -j oracle-server-1 -g resource-group-1 \
-t SUNW.oracle_server -x ORACLE_HOME=/global/oracle \
-x Alert_log_file=/global/oracle/message-log \
-x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger
 
# scrgadm -a -j oracle-listener-1 -g resource-group-1 \
-t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle \
-x LISTENER_NAME=ora-lsnr
 
(Bring the resource group online.)
# scswitch -Z -g resource-group-1