适用于 Oracle Database 的 Oracle® Solaris Cluster 数据服务指南

退出打印视图

更新时间: 2016 年 1 月
 
 

如何为群集注册和配置使用 Oracle Grid Infrastructure 的 HA for Oracle Database (CLI)

此过程介绍了使用 Oracle Solaris Cluster 维护命令注册和配置带有群集 Oracle ASM 实例的 HA for Oracle Database 需要执行的步骤。

可以选择使用第三方卷管理器向群集 Oracle ASM 磁盘组提供候选磁盘。对于这种类型的配置,此过程手动创建充当 Oracle Solaris Cluster SUNW.ScalDeviceGroup 资源代理的 Oracle Grid Infrastructure 资源。在此过程中,Oracle Grid Infrastructure 资源名为 sun.resource。您可以配置 sun.resource 以确保对应的 Oracle ASM 磁盘组直到 sun.resource 联机才会挂载。仅当对应的 SUNW.ScalDeviceGroup 资源联机时,sun.resource 资源才联机。仅当实际的卷管理器磁盘集或磁盘组联机时,SUNW.ScalDeviceGroup 资源才联机。

为确保 Oracle ASM 磁盘组可从该依赖性链中获益,在定义 sun.resource 之后,修改相应的 Oracle ASM 磁盘组资源,从而使硬启动依赖性包含 sun.resource。只能由 SUNW.scalable_asm_diskgroup_proxy 资源通过使用 VALIDATE 方法来修改 Oracle ASM 磁盘组资源的硬启动依赖性。因此,必须在 SUNW.scalable_asm_diskgroup_proxySUNW.ScalDeviceGroup 资源之间设置脱机重新启动依赖性。

开始之前

  1. 在群集成员上成为超级用户,或承担可提供 solaris.cluster.modifysolaris.cluster.admin RBAC 授权的角色。
  2. 如果使用受支持的卷管理器或硬件 RAID 设备作为 Oracle ASM 磁盘组的候选磁盘,则配置 Oracle Grid Infrastructure。

    可以从以下任何项中派生 Oracle ASM 候选磁盘:

    • Solaris Volume Manager 磁盘集

    • 硬件 RAID 存储设备,例如 /dev/did/rdsk/dNsX

    1. 创建 Oracle Grid Infrastructure sun.storage_proxy.type 资源类型。
      # /Grid_home/bin/crsctl add type sun.storage_proxy.type -basetype local_resource
    2. 创建 sun.storage_proxy.type 类型的 Oracle Grid Infrastructure sun.resource 资源。

      注 -  确保所有属性值都用单引号 (') 括起来。否则,SUNW.scalable_asm_diskgroup_proxy 资源的 VALIDATE 方法将使验证失败。
      # /Grid_home/bin/crsctl add res sun.scal-svmdg-rs \
            -type sun.storage_proxy.type \
            -attr "ACTION_SCRIPT='/opt/SUNWscor/dsconfig/bin/scproxy_crs_action' \
            ACL='owner:root:rwx,pgrp:oinstall:rwx,other::r--' SCRIPT_TIMEOUT='20' RESTART_ATTEMPTS='60'"
      sun.scal-svmdg-rs

      SUNW.ScalDeviceGroup 资源名称。

      -type sun.storage_proxy.type

      指定 sun.storage_proxy.type 资源类型。

      ACTION_SCRIPT

      指定 /opt/SUNWscor/dsconfig/bin/scproxy_crs_action 操作脚本。

      ACL

      将所有者设置为 root,将组设置为 Oracle ASM 磁盘组的 ACL 组项。以下命令将显示 ACL 组条目:

      # /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep ACL=
      ACL=owner:oragrid:rwx,pgrp:oinstall:rwx,other::r--

      示例输出显示 oinstall 是组条目。

      SCRIPT_TIMEOUT

      设置为 20

      RESTART_ATTEMPTS

      设置为 60

    3. 检验是否已正确定义 sun.resource

      输出内容将类似如下:

      # /Grid_home/bin/crsctl stat res sun.scal-svmdg-rs -p
            NAME=sun.scal-svmdg-rs
            TYPE=sun.storage_proxy.type
            ACL=owner:root:rwx,pgrp:oinstall:rwx,other::r--
            ACTIONS=
            ACTION_FAILURE_TEMPLATE=
            ACTION_SCRIPT=/opt/SUNWscor/dsconfig/bin/scproxy_crs_action
            ACTION_TIMEOUT=60
            AGENT_FILENAME=%CRS_HOME%/bin/scriptagent
            ALERT_TEMPLATE=
            ALIAS_NAME=
            AUTO_START=restore
            CHECK_INTERVAL=60
            CHECK_TIMEOUT=0
            CLEAN_TIMEOUT=60
            DEBUG=1
            DEFAULT_TEMPLATE=
            DEGREE=1
            DELETE_TIMEOUT=60
            DESCRIPTION=
            ENABLED=1
            INSTANCE_FAILOVER=1
            INTERMEDIATE_TIMEOUT=-
            LOAD=1
            LOGGING_LEVEL=1
            MODIFY_TIMEOUT=60
            NOT_RESTARTING_TEMPLATE=
            OFFLINE_CHECK_INTERVAL=0
            PROFILE_CHANGE_TEMPLATE=
            RESTART_ATTEMPTS=60
            SCRIPT_TIMEOUT=20
            SERVER_CATEGORY=
            START_CONCURRENCY=0
            START_DEPENDENCIES=
            START_TIMEOUT=0
            STATE_CHANGE_TEMPLATE=
            STOP_CONCURRENCEY=0
            STOP_DEPENDENCIES=
            STOP_TIMEOUT=0
            UPTIME_THRESHOLD=1h
            USER_WORKLOAD=no
      #
    4. 显示当前资源依赖性。
      # /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep START_DEPENDENCIES
      START_DEPENDENCIES=pullup:always(ora.asm) hard(ora.asm,sun.svmdg-rs)
  3. 注册 Oracle Clusterware 框架的资源类型。

    注 -  也可以使用 clsetup 实用程序执行本过程中的Step 3Step 14
    # clresourcetype register SUNW.crs_framework
  4. SUNW.crs_framework 类型的资源添加到 rac-fmwk-rg 资源组。
    # clresource create -g rac-fmwk-rg \
    -t SUNW.crs_framework \
    -p Resource_dependencies_offline_restart=rac-fmwk-rs \
    -d crs-fmwk-rs
  5. 注册数据服务的 Oracle ASM 资源类型。
    1. 注册可伸缩 ASM 实例代理资源类型。
      # clresourcetype register SUNW.scalable_asm_instance_proxy
    2. 注册合适的 ASM 磁盘组资源类型。
      # clresourcetype register SUNW.scalable_asm_diskgroup_proxy
  6. 创建资源组 asm-inst-rgasm-dg-rg
    # clresourcegroup create -S asm-inst-rg asm-dg-rg
  7. 设置 asm-inst-rgrac-fmwk-rg 的正向强关联。
    # clresourcegroup set -p Rg_affinities=++rac-fmwk-rg asm-inst-rg
  8. 设置 asm-dg-rgasm-inst-rg 的正向强关联。
    # clresourcegroup set -p Rg_affinities=++asm-inst-rg asm-dg-rg
  9. SUNW.scalable_asm_instance_proxy 类型的资源添加到 asm-inst-rg 资源组。
    # clresource create -g asm-inst-rg \
    -t SUNW.scalable_asm_instance_proxy \
    -p Oracle_home=Oracle_home \
    -p CRS_HOME=Grid_home \
    -p "oracle_sid{node1}"=instance \
    -p "oracle_sid{node2}"=instance \
    -p Resource_dependencies_offline_restart=crs-fmwk-rs \
    -d asm-inst-rs
    –g asm-inst-rg

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

    –t SUNW.asm_instance_proxy

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

    –p Oracle_home=Oracle_home

    设置 Oracle Database 主目录的路径。

    –p CRS_HOME=Grid_home

    设置用于群集的 Oracle Grid Infrastructure 主目录的路径。

    –p "Oracle_sid{node}"=instance

    设置 Oracle Database 系统标识符。

    –d asm-inst-rs

    指定要创建的资源的名称。

  10. 将 ASM 磁盘组资源添加到 asm-dg-rg 资源组中。

    使用 SUNW.scalable_asm_diskgroup_proxy 资源类型。

    # clresource create -g asm-dg-rg \
    -t SUNW.scalable_asm_diskgroup_proxy \
    -p Asm_diskgroups=dg[,dg…] \
    -p Resource_dependencies_offline_restart=asm-inst-rs,scal-svmdg-rs \
    -d asm-dg-rs
  11. 使群集节点上处于受管状态的 asm-inst-rg 资源组联机。
    # clresourcegroup online -eM asm-inst-rg
  12. 使群集节点上处于受管状态的 asm-dg-rg 资源组联机。
    # clresourcegroup online -eM asm-dg-rg
  13. 通过发出 status 命令检验 Oracle ASM 安装。
    # clresource status +
  14. 为 Oracle 数据库创建故障转移资源组 ora-db-rg
    # clresourcegroup create ora-db-rg
  15. 注册 HA for Oracle Database 数据服务的资源类型。

    可注册 SUNW.oracle_serverSUNW.oracle_listener 两种资源类型。


    注 -  如果使用 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (Single Client Access Name, SCAN) 侦听器,则省略 SUNW.oracle_listener 资源类型的注册,而 Oracle Database remote_listener 使用该资源类型。
    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  16. 向 Oracle Database 的故障转移资源组添加逻辑主机名资源。

    注 -  如果您使用 Oracle Grid Infrastructure SCAN 侦听器,请指定一个逻辑主机名,其 IP 地址与 SCAN 侦听器 IP 地址属于同一子网。
    # clreslogicalhostname create -g ora-db-rg [-h logical-hostname] logical-hostname-rs
    logical-hostname

    指定逻辑主机名。该逻辑主机名必须存在于名称服务数据库中。如果 logical-hostname logical-hostname-rs 相同,则 logical-hostname 是可选的。

    logical-hostname-rs

    指定分配给要创建的逻辑主机名资源的名称。

  17. 使群集节点上处于受管状态的故障转移资源组联机。
    # clresourcegroup online -eM ora-db-rg
  18. 在故障转移资源组中创建 Oracle Database 应用服务器资源。

    注 -  或者,可以设置属于 HA for Oracle Database 数据服务的其他扩展属性以覆盖其默认值。有关扩展属性的列表,请参见设置 HA for Oracle Database 扩展属性
    # clresource create -g ora-db-rg \
    -t SUNW.oracle_server \
    -p Db_unique_name=db-unique-name \
    -p Resource_dependencies_offline_restart=asm-dg-rs \
    -p Oracle_home=Oracle_home \
    -p Oracle_sid=instance \
    -d ora-db-rs
    –g ora-db-rg

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

    –t SUNW.oracle_server

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

    –p Oracle_home=Oracle_home

    设置 Oracle Database 主目录的路径。

    –p Oracle_sid=instance

    设置 Oracle Database 系统标识符。

    –p Db_unique_name=db-unique-name

    设置 Oracle Database 的唯一名称。

    –d ora-db-rs

    指定要创建的资源的名称。

  19. 使 Oracle Database 服务器资源联机。
    # clresource enable ora-db-rs

接下来的步骤

注册和配置 HA for Oracle Database 后,请转至检验 HA for Oracle Database 安装