用于 Oracle 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

如何注册和配置 Sun Cluster HA for Oracle

请使用此过程将 Sun Cluster HA for Oracle 配置为故障转移数据服务。 此过程假定您在 Sun Cluster 初始安装过程中安装了数据服务软件包。 如果未将 Sun Cluster HA for Oracle 软件包安装为 Sun Cluster 初始安装的一部分,请转到安装 Sun Cluster HA for Oracle 软件包以安装数据服务软件包。 否则,请使用此过程来配置 Sun Cluster HA for Oracle。

要执行此过程,必须掌握以下信息。

  1. 成为某个群集成员的超级用户。

  2. 运行 scrgadm 命令,以对数据服务的资源类型进行注册。

    对于 Sun Cluster HA for Oracle,需要注册两种资源类型(SUNW.oracle_serverSUNW.oracle_listener),如下所示。


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

    添加数据服务资源类型。

    -t SUNW.oracle_ type

    为数据服务指定预定义的资源类型名称。

  3. 创建故障转移资源组,以保存网络资源和应用程序资源。

    您可以使用 -h 选项选择可用于运行数据服务的节点集,如下所示。


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

    指定资源组的名称。 可以选择此名称,但对于群集中的所有资源组来说,该名称必须唯一。

    -h nodelist

    指定一个可选的、用逗号分隔的物理节点名称或 ID 的列表,这些节点名称或 ID 标识潜在的主节点。 此处的顺序确定了在故障转移过程中将节点选为主节点的顺序。


    注意:

    使用 -h 选项可以指定节点列表的顺序。 如果群集中的所有节点都是潜在的主节点,则不必使用 -h 选项。


  4. 检验是否已将您使用的所有网络资源都添加到了名称服务数据库中。

    在 Sun Cluster 的安装过程中应该已经执行了此项检验。


    注意:

    请确保所有网络资源都已存在于服务器和客户机的 /etc/inet/hosts 文件中,以免因查找名称服务而导致任何故障。


  5. 将网络资源添加到故障转移资源组中。


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

    指定网络资源。 网络资源是客户机用于访问 Sun Cluster HA for Oracle 的逻辑主机名或共享地址(IP 地址)。

    [-n netiflist]

    指定一个可选的、用逗号分隔的列表,该列表标识各节点上的 IP 网络多路径处理 组。 netiflist 中的每个元素的格式必须为 netif@nodenetif 可被指定为 IP 网络多路径处理 组的名称,例如 sc_ipmp0。 节点可由节点名称或节点 ID 标识,例如 sc_ipmp0@1sc_ipmp@phys-schost-1


    注意:

    Sun Cluster 目前不支持将适配器名称用作 netif


  6. 向群集注册 SUNW.HAStoragePlus 资源类型。


    # scrgadm -a -t SUNW.HAStoragePlus
    

  7. 创建类型为 SUNW.HAStoragePlus 的资源 oracle-hastp-rs


    # scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus \
     
    [如果数据库位于原始设备上,请指定全局设备路径。]
    -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl \
     
    [如果数据库位于群集文件服务上,请指定全局文件系统和本地文件系统装载点。]
    -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs,/
    local/ora-data \
     
    [将 AffinityOn 设置为 TRUE。]
    -x AffinityOn=TRUE
    


    注意:

    必须将 AffinityOn 设置为 TRUE,并且本地文件系统必须位于全局磁盘组中,以便进行故障转移。


  8. 运行 scswitch 命令,以完成以下任务并使资源组 oracle-rg 在一个群集节点上实现联机。


    小心:小心:

    请确保仅以资源组级别进行切换。 以设备组级别进行切换会使资源组处于混乱状态,从而导致资源组进行故障转移。


    • 将资源组转入 MANAGED 状态。

    • 使资源组联机。

    此节点将成为设备组 ora-set1 和原始设备 /dev/global/dsk/d1 的主节点。 与 /global/ora-inst /global/ora-data/logs 等文件系统相关联的设备组也将成为此节点上的主设备组。


    # scswitch -Z -g oracle-rg
    
  9. 在故障转移资源组中创建 Oracle 应用程序资源。

    • Oracle 服务器资源:


      # 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 \
      -x Restart_type=entity-to-restart
      -y resource_dependencies=storageplus-resource
      
    • Oracle 侦听程序资源:


      # 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

    指定要添加的资源的名称。

    -g resource-group

    指定要放置资源的资源组的名称。

    -t SUNW.oracle_server/listener

    指定要添加的资源的类型。

    -x Alert_log_file =path-to-log

    $ORACLE_HOME 下设置服务器消息日志的路径。

    -x Connect_string =user/passwd

    指定故障监视器连接到数据库时所要使用的用户名和口令。 这些设置必须与您在如何设置 Oracle 数据库权限 中设置的权限相一致。 如果使用 Solaris 授权,请键入一个斜杠 (/),而不使用用户名和口令。

    -x ORACLE_SID =instance

    设置 Oracle 系统标识符。

    -x LISTENER_NAME =listener

    设置 Oracle 侦听程序实例的名称。 此名称必须与 listener.ora 中的对应项相匹配。

    -x ORACLE_HOME =Oracle-home

    将路径设置为 Oracle 起始目录。

    -x Restart_type= entity-to-restart

    指定对故障的响应是重新启动时,服务器故障监视器将重新启动的实体。 按以下方式设置 entity-to-restart

    • 要指定包含此资源的资源组中的所有资源都重新启动,请将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART。 缺省情况下,包含此资源的资源组将重新启动。

      如果将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART,资源组中的所有其他资源(例如 Apache 或 DNS)将重新启动,即使这些资源没有出错。 因此,请仅将在 Oracle 服务器资源重新启动时需要重新启动的资源包含在资源组中。

    • 要指定仅此资源重新启动,请将 entity-to-restart 设置为 RESOURCE_RESTART


    注意:

    您也可以设置属于 Oracle 数据服务的其他扩展特性,以覆盖其缺省值。 有关扩展特性的列表,请参见Sun Cluster HA for Oracle 扩展特性


  10. 启用资源和故障监视。


    # scswitch -Z -g resource-group
    
    -Z

    启用资源和监视器,使资源组转为 MANAGED 状态并使其联机。

    -g resource-group

    指定资源组的名称。

示例 — 注册 Sun Cluster HA for Oracle

下例说明了如何在双节点群集中注册 Sun Cluster HA for Oracle。


群集信息
节点名称:phys-schost-1、phys-schost-2
逻辑主机名:schost-1
资源组:resource-group-1(故障转移资源组)
Oracle 资源:oracle-server-1、oracle-listener-1
Oracle 实例:ora-lsnr (侦听程序)、ora-srvr(服务器)
 (添加故障转移资源组以包含所有资源。)# scrgadm -a -g resource-group-1
 (将逻辑主机名资源添加到资源组。)# scrgadm -a -L -g resource-group-1 -l schost-1 
 (注册 Oracle 资源类型。)# scrgadm -a -t SUNW.oracle_server
# scrgadm -a -t SUNW.oracle_listener
 
(将 Oracle 应用程序资源添加到资源组。)
# 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
 
(使资源组联机。)
# scswitch -Z -g resource-group-1