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

退出打印视图

更新时间: 2014 年 9 月
 
 

如何为群集注册和配置带有 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. 如果要使用第三方卷管理器或 NFS 作为 Oracle ASM 磁盘组的候选磁盘,则配置 Oracle Grid Infrastructure。

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

    • Solaris Volume Manager 磁盘集

    • NFS

    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-asmdg1-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-asmdg1-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-asmdg1-rs -p
            NAME=sun.scal-asmdg1-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=hard(ora.asm) pullup(ora.asm)
      
      # clresource show -p Resource_dependencies_offline_restart asm-data1-rs
      
      === Resources ===
      
      Resource: asm-data1-rs
      Resource_dependencies_offline_restart: asm-inst-rs
      
      -- Standard and extension properties --
    5. 设置新的依赖性。
      • 如果 asm-data1-rs 已经存在,请使用以下命令设置依赖性。

        请注意,该命令包含加号 (+):

        # clresource set -p Resource_dependencies_offline_restart+=scal-asmdg1-rs asm-data1-rs
        –p Resource_dependencies_offline_restart+=resource

        (仅限 Oracle ASM 设备组)为指定的 Oracle ASM 存储资源设置脱机重新启动依赖性。

        asm-data1–rs

        指定要修改的资源的名称。

      • 如果 asm-data1-rs 不存在,请使用以下命令创建具有脱机重新启动依赖性的资源。
        # clresource create -g asm-dg-rg \
        -t SUNW.scalable_asm_diskgroup_proxy \
        -p asm_diskgroups=data1 \
        -p Resource_dependencies_offline_restart=asm-inst-rs,
        scal-asmdg1-rs \
        -d asm-data1-rs
        –g asm-dg-rg

        指定要放置资源的 Oracle ASM 设备组的名称。

        –t resource-type

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

        –p asm_diskgroups=data1

        设置 Oracle ASM 磁盘组的名称。

        –d

        指定禁用您创建的资源。

    6. 检验配置的依赖性。
      # /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep START_DEPENDENCIES
      START_DEPENDENCIES=hard(ora.asm,sun.scal-asmdg1-rs) pullup(ora.asm)
      # clresource show -p Resource_dependencies_offline_restart asm-data1-rs
      === Resources ===
      
      Resource: asm-data1-rs
      Resource_dependencies_offline_restart: asm-inst-rs scal-asmdg1-rs
      
      -- Standard and extension properties --
  3. 注册 Oracle Clusterware 框架的资源类型。

    注 -  也可以使用 clsetup 实用程序执行本过程中的Step 3Step 5
    # 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 数据库创建故障转移资源组 ora-db-rg
    # clresourcegroup create ora-db-rg
  6. 如果要使用 Sun QFS 文件系统,请执行以下步骤来注册 Sun QFS 文件系统资源类型并创建资源组。
    1. 为 Sun QFS 文件系统注册资源类型。
      # clresourcetype register SUNW.qfs
    2. 创建资源组 qfs-rg
      # clresourcegroup create qfs-rg
    3. 将一个 SUNW.qfs 类型的资源添加到 qfs-rg 资源组。
    4. 将一个 SUNW.qfs 类型的资源添加到 qfs-rg 资源组。
      # clresource create -g qfs-rg -t SUNW.qfs -p QFSFileSystem=qfs-mp qfs-rs
      –g qfs-rg

      指定资源组的名称。

      –t SUNW.qfs

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

      –p QFSFileSystem=qfs-mp

      指定 Sun QFS 文件系统挂载点。

      qfs-rs

      指定要创建的 Sun QFS 文件系统资源的名称。

    5. 使群集节点上处于受管状态的 qfs-rg 资源组联机。
      # clresourcegroup online -eM qfs-rg
  7. 注册 SUNW.HAStoragePlus 资源类型并创建资源组。
    1. SUNW.HAStoragePlus 资源类型注册资源类型。
      # clresourcetype register SUNW.HAStoragePlus
    2. 将一个 SUNW.HAStoragePlus 类型的资源添加到 ora-db-rg 资源组。
      # clresource create -g ora-db-rg -t SUNW.HAStoragePlus \
      -p filesystemmountpoints=mount-point-list -d hastp-rs
    3. 使群集节点上处于受管状态的 ora-db-rg 资源组联机。
      # clresourcegroup online -eM ora-db-rg
  8. 注册数据服务的 Oracle ASM 资源类型。
    1. 注册可伸缩 ASM 实例代理资源类型。
      # clresourcetype register SUNW.scalable_asm_instance_proxy
    2. 注册合适的 ASM 磁盘组资源类型。
      # clresourcetype register SUNW.scalable_asm_diskgroup_proxy
  9. 创建资源组 asm-inst-rgasm-dg-rg
    # clresourcegroup create -S asm-inst-rg asm-dg-rg
  10. 设置 asm-inst-rgrac-fmwk-rg 的正向强关联。
    # clresourcegroup set -p Rg_affinities=++rac-fmwk-rg asm-inst-rg
  11. 设置 asm-dg-rgasm-inst-rg 的正向强关联。
    # clresourcegroup set -p Rg_affinities=++asm-inst-rg asm-dg-rg
  12. 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
  13. 如果在某个群集文件系统上配置了 $ORACLE_HOME 目录以供 Oracle ASM 使用,请配置资源以使用该群集文件系统。

    SUNW.HAStoragePlusSUNW.scalable_asm_instance 类型的资源添加到 asm-inst-rg 资源组,并在两种资源之间设置相应的依赖性。

    # clresource create -g asm-inst-rg -t SUNW.HAStoragePlus \ 
    -p FilesystemMountPoints=cluster-file-system \
    hastp-rs
    
    # 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=hastp-rs \
    -p Resource_dependencies_offline_restart=crs-fmwk-rs \
    asm-inst-rs
    –g asm-inst-rg

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

    –p FilesystemMountPoints=cluster-file-system

    指定群集文件系统的名称。

    hastp-rs

    指定要创建的 SUNW.HAStoragePlus 资源的名称。

    –p Oracle_home=Oracle_home

    设置 Oracle 数据库主目录的路径。

    –p CRS_HOME=Grid_home

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

    –p "Oracle_sid{node}"=instance

    设置 Oracle 数据库系统标识符。

  14. 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
    –t SUNW.asm_inst_proxy

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

    –d asm-inst-rs

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

  15. 将 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,asm-stor-rs \
    -d asm-dg-rs
  16. 使群集节点上处于受管状态的 asm-inst-rg 资源组联机。
    # clresourcegroup online -eM asm-inst-rg
  17. 使群集节点上处于受管状态的 asm-dg-rg 资源组联机。
    # clresourcegroup online -eM asm-dg-rg
  18. 通过发出状态命令检验 Oracle ASM 安装。
    # clresource status +
  19. 注册 HA for Oracle Database 数据服务的资源类型。

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


    注 -  如果使用 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (Single Client Access Name, SCAN) 侦听器,则省略 SUNW.oracle_listener 资源类型的注册。
    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  20. 向 Oracle 数据库的故障转移资源组添加逻辑主机名资源。
    # clreslogicalhostname create -g ora-db-rg [-h logical-hostname] logical-hostname-rs
    logical-hostname

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

    logical-hostname-rs

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

  21. 使群集节点上处于受管状态的故障转移资源组联机。
    # clresourcegroup online -eM ora-db-rg
  22. 在故障转移资源组中创建 Oracle 数据库应用服务器资源。
    # clresource create -g ora-db-rg \
    -t SUNW.oracle_server \
    -p Db_unique_home=db-unique-home \
    -p Resource_dependencies_offline_restart=asm-dg-rs \
    -p Oracle_sid=instance \
    -d ora-db-rs
    –g ora-db-rg

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

    –t SUNW.oracle_server

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

    –p Oracle_sid=instance

    设置 Oracle 数据库系统标识符。

    –p Db_unique_name=db-unique-name

    设置 Oracle 数据库的唯一名称。

    –d ora-db-rs

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


    注 -  或者,可以设置属于 HA for Oracle Database 数据服务的其他扩展属性以覆盖其默认值。有关扩展属性的列表,请参见设置 HA for Oracle Database 扩展属性
  23. 使 Oracle 数据库服务器资源联机。
    # clresource enable ora-db-rs

接下来的步骤

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