JavaScript is required to for searching.
跳过导航链接
退出打印视图
适用于 Oracle 的 Oracle Solaris Cluster 数据服务指南     Oracle Solaris Cluster 4.0 (简体中文)
search filter icon
search icon

文档信息

前言

1.  安装和配置 HA for Oracle

HA for Oracle 的安装和配置过程概述

规划 HA for Oracle 的安装和配置

配置要求

配置规划问题

准备节点和磁盘

如何准备节点

如何使用 Solaris Volume Manager 配置 Oracle 数据库访问

如何使用 Oracle ASM 配置 Oracle 数据库访问

如何配置 Oracle Grid Infrastructure for Clusters SCAN 侦听器

安装 Oracle ASM 软件

检验 Oracle ASM 软件安装

安装 Oracle 软件

如何安装 Oracle 软件

如何设置 Oracle 内核参数

检验 Oracle 安装和配置

如何检验 Oracle 安装

创建 Oracle 数据库

如何创建 Oracle 主数据库

设置 Oracle 数据库权限

如何设置 Oracle 数据库权限

安装 HA for Oracle 软件包

如何安装 HA for Oracle 软件包

注册和配置 HA for Oracle

用于注册和配置 HA for Oracle 的工具

设置 HA for Oracle 扩展属性

如何注册和配置 HA for Oracle (clsetup)

如何注册和配置不带有 Oracle ASM (CLI) 的 HA for Oracle

如何使用群集 Oracle ASM 磁盘组和第三方卷管理器 (CLI) 创建 Oracle Grid Infrastructure 资源

如何注册和配置带有群集 Oracle ASM 实例 (Clustered Instance, CLI) 的 HA for Oracle

此时应该执行的操作

检验 HA for Oracle 安装

如何检验 HA for Oracle 安装

Oracle 客户机

HA for Oracle 日志文件的位置

调优 HA for Oracle 故障监视器

Oracle 服务器故障监视器操作

主故障监视器操作

数据库客户机故障探测器的操作

监视归档重做日志分区的操作

确定数据库是否正常运行的操作

服务器故障监视器响应数据库事务故障时的操作

扫描服务器故障监视器记录的警报

Oracle 侦听器故障监视器的操作

获取用于 DBMS 超时故障排除的核心文件

定制 HA for Oracle 服务器 故障监视器

为错误定义定制行为

定制操作文件格式

更改对 DBMS 错误的响应

响应影响严重的错误

忽略影响轻微的错误

更改对记录的警报的响应

更改连续超时探测的最大次数

将定制操作文件传播到群集中的所有节点

指定服务器故障监视器应使用的定制操作文件

如何指定服务器故障监视器应使用的定制操作文件

更改 Oracle Data Guard 实例的角色

如何更改 Oracle Data Guard 实例的角色

A.  HA for Oracle 扩展属性

B.  DBMS 错误和记录的警报的预设操作

C.  Oracle ASM 和 HA for Oracle 的样例配置

索引

注册和配置 HA for Oracle

用于注册和配置 HA for Oracle 的工具

Oracle Solaris Cluster 提供以下用于注册和配置 HA for Oracle 的工具:

clsetup 实用程序提供了用于配置 HA for Oracle 的向导。该向导降低了由于命令语法错误或遗漏而导致发生配置错误的可能性。此向导还确保创建所有必需资源以及设置资源之间的所有必需依赖性。

设置 HA for Oracle 扩展属性

使用附录 A中的扩展属性创建资源。要设置资源的扩展属性,请将选项 -p property=value 包括在用于创建或修改资源的 clresource 命令中。如果您已创建资源,请按照《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的第 2  章 "Administering Data Service Resources"中的过程来配置扩展属性。

您可以动态更新某些扩展属性。但是,其他属性只能在创建或禁用资源时更新。“可调”条目指示您何时可以更新每个属性。有关所有 Oracle Solaris Cluster 资源属性的详细信息,请参见 r_properties(5) 手册页。

SUNW.oracle_server 扩展属性介绍了可为 Oracle 服务器设置的扩展属性。对于 Oracle 服务器,只需设置以下扩展属性:

如何注册和配置 HA for Oracle (clsetup)

此过程提供了 Oracle Solaris Cluster 维护命令的长格式。此外,大多数命令还有短形式。这些命令除了格式不同以外,其功能都是相同的。


注 - clsetup 实用程序不支持使用 ZFS 的 HA for Oracle 配置。


开始之前

确保满足以下先决条件:

确保您具有以下信息:

  1. 成为任何群集节点的超级用户。
  2. 启动 clsetup 实用程序。
    # clsetup

    此时将显示 clsetup 主菜单。

  3. 键入与数据服务选项对应的编号,然后按回车键。

    此时会显示“数据服务”菜单。

  4. 键入与用于配置 HA for Oracle 的选项对应的编号,然后按回车键。

    clsetup 实用程序将显示执行此任务的先决条件列表。

  5. 检验是否满足先决条件,然后按回车键。

    clsetup 实用程序会显示群集节点的列表。

  6. 选择需要运行 Oracle 的节点。
    • 要接受以任意顺序列出的所有节点的默认选择,请按回车键。
    • 要选择所列出节点的子集,请键入与节点对应的编号列表(以逗号或空格分隔)。然后按回车键。

      确保节点的列出顺序是其在放置 Oracle 资源的资源组节点列表中的显示顺序。

    • 要按特定顺序选择所有节点,请键入与节点对应的编号的逗号分隔或空格分隔顺序列表,然后按回车键。

      确保节点的列出顺序是其在放置 Oracle 资源的资源组节点列表中的显示顺序。

  7. 要确认您选择的节点,请键入 d,然后按回车键。

    clsetup 实用程序会显示要配置的 Oracle 组件的类型。

  8. 键入要配置的 Oracle 组件的编号,然后按回车键。

    clsetup 实用程序将列出 Oracle 起始目录。

  9. 为 Oracle 软件安装指定 Oracle 起始目录。
    • 如果已列出目录,按如下所述选择目录:
      1. 键入与要选择的目录对应的编号。

        clsetup 实用程序将显示在群集上配置的 Oracle 系统标识符的列表。该实用程序还会提示您指定 Oracle 安装的系统标识符。

    • 如果未列出目录,请显式指定目录。
      1. 键入 e 并按回车键。

        clsetup 实用程序会提示您输入 Oracle 起始目录。

      2. 键入 Oracle 起始目录的完整路径,然后按回车键。

        clsetup 实用程序将显示在群集上配置的 Oracle 系统标识符的列表。该实用程序还会提示您指定 Oracle 安装的系统标识符。

  10. 指定要配置的 Oracle 数据库的 Oracle SID。
    • 如果已列出 SID,按如下所述选择 SID:
      1. 键入与要选择的 SID 对应的编号。

        clsetup 实用程序将显示它要创建的 Oracle Solaris Cluster 资源的属性。

    • 如果没有列出该 SID,则明确指定该 SID。
      1. 键入 e 并按回车键。

        clsetup 实用程序会提示您输入 SID。

      2. 键入 SID,然后按回车键。

        clsetup 实用程序将显示它要创建的 Oracle Solaris Cluster 资源的属性。

    clsetup 实用程序将显示它要创建的 Oracle Solaris Cluster 资源的属性。

  11. 如果任何 Oracle Solaris Cluster 资源属性需要其他名称,按如下所述更改每个值。
    1. 键入与要更改的名称对应的编号,然后按回车键。

      clsetup 实用程序将显示一个屏幕,在这个屏幕中您可以指定新名称。

    2. 在“新值”提示下,键入新名称并按回车键。

    clsetup 实用程序将返回到它要创建的 Oracle Solaris Cluster 资源的属性列表。

  12. 要确认对 Oracle Solaris Cluster 资源属性的选择,请键入 d,然后按回车键。

    clsetup 实用程序将显示现有存储资源的列表。如果没有可用存储资源,clsetup 实用程序会显示用于存储数据的共享存储类型列表。

  13. 键入与要用于存储数据的共享存储类型对应的编号,然后按回车键。

    clsetup 实用程序会显示在群集中配置的文件系统挂载点。

  14. 按如下所示选择文件系统挂载点。
    • 要接受按任意顺序列出的所有文件系统挂载点的默认选择,请键入 a。然后按回车键。
    • 要选择所列出文件 a 系统挂载点的子集,请键入与文件系统挂载点对应编号的逗号分隔或空格分隔列表。然后按回车键。

    clsetup 实用程序会显示在群集中配置的全局磁盘集和设备组。

  15. 按如下所述选择设备组。
    • 要接受以任意顺序排序的所有列出设备组的默认选择,请键入 a,然后按回车键。
    • 要选择所列出设备组的子集,请键入与设备组对应编号的逗号分隔或空格分隔列表,然后按回车键。

    clsetup 实用程序会返回高可用性存储资源列表。

  16. 键入一个与数据服务所需存储资源对应的编号的逗号分隔或空格分隔列表,然后按回车键。
  17. 要确认对 Oracle Solaris Cluster 存储资源的选择,请键入 d,然后按回车键。

    clsetup 实用程序会显示群集中的所有现有逻辑主机名资源。如果没有可用的逻辑主机名资源,clsetup 实用程序会提示输入设置资源高可用性的逻辑主机名。

  18. 指定逻辑主机名,然后按回车键。

    clsetup 实用程序会返回可用的逻辑主机名资源列表。

  19. 键入一个与数据服务所需逻辑主机名资源对应的编号的逗号分隔或空格分隔列表,然后按回车键。
  20. 要确认对 Oracle Solaris Cluster 逻辑主机名资源的选择,请键入 d,然后按回车键。

    clsetup 实用程序将显示该实用程序将创建的 Oracle Solaris Cluster 对象的名称。

  21. 如果任何 Oracle Solaris Cluster 对象需要其他名称,按如下所述更改每个名称。
    • 键入与要更改的名称对应的编号,然后按回车键。

      clsetup 实用程序将显示一个屏幕,在这个屏幕中您可以指定新名称。

    • 在“新值”提示下,键入新名称并按回车键。

      clsetup 实用程序将返回其将创建的 Oracle Solaris Cluster 对象的名称列表。

  22. 要确认对 Oracle Solaris Cluster 对象名称的选择,请键入 d 并按回车键。
  23. 要创建配置,请键入 c 并按回车键。

    clsetup 实用程序将显示进度消息,指示该实用程序正在运行命令来创建配置。完成配置后,clsetup 实用程序将显示其创建配置所运行的命令。

  24. 按回车键继续。
  25. 可选键入 q 并按回车键,重复此操作直到退出 clsetup 实用程序。

    如果您愿意,可以在执行其他所需任务时保持 clsetup 实用程序处于运行状态,以便稍后再次使用该实用程序。

如何注册和配置不带有 Oracle ASM (CLI) 的 HA for Oracle

此过程提供了 Oracle Solaris Cluster 维护命令的长格式。此外,大多数命令还有短形式。这些命令除了格式不同以外,其功能都是相同的。

开始之前

确保满足以下先决条件:

确保您具有以下信息:

  1. 在群集成员上成为超级用户,或承担可提供 solaris.cluster.modifysolaris.cluster.admin RBAC 授权的角色。
  2. 注册数据服务的资源类型。

    对于 HA for Oracle,可注册 SUNW.oracle_serverSUNW.oracle_listener 两种资源类型,如下所示。


    注 - 如果使用 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (SCAN) 侦听器,则省略 SUNW.oracle_listener 资源类型的注册。


    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  3. 创建故障转移资源组以容纳网络和应用程序资源。

    如果使用 Oracle Solaris ZFS 文件系统,则不需要此步骤,因为在如何准备节点中配置高可用性本地 ZFS 文件系统时创建了该资源组。此过程中其他步骤创建的资源将添加到此资源组。

    或者,您可以通过 -n 选项选择可在其上运行数据服务的一组节点,如下所示。

    # clresourcegroup create [-n node-zone-list] resource-group
    resource-group

    指定资源组的名称。您可以随意指定此名称,但该名称对群集内的资源组必须唯一。

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

    应已在 Oracle Solaris Cluster 安装过程中执行此验证。


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


  5. 向故障转移资源组添加逻辑主机名资源。
    # clreslogicalhostname create -g resource-group [-h logicalhostname] logicalhostname-rs
    logicalhostname

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

    logicalhostname-rs

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

  6. 向群集注册 HAStoragePlus 资源类型。
    # clresourcetype register SUNW.HAStoragePlus
  7. HAStoragePlus 类型的资源添加到故障转移资源组。

    注 - 如果为 Oracle 文件使用 Oracle Solaris ZFS 文件系统,请忽略此步骤。配置高可用性本地 ZFS 文件系统时创建了 HAStoragePlus 资源。有关更多信息,请参见如何准备节点



    注意

    注意 - 在非全局区域中,不支持 Oracle Solaris Cluster 设备组中的原始设备。


    # clresource create -g resource-group -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=device-path \
    -p FilesystemMountPoints=mount-point-list \
    -p AffinityOn=TRUE hastp-rs

    必须设置 GlobalDevicePaths 扩展属性或 FilesystemMountPoints 扩展属性:

    • 如果数据库位于原始设备上,则将 GlobalDevicePaths 扩展属性设置为全局设备路径。

    • 如果数据库位于群集文件系统上,则指定群集文件系统和本地文件系统的挂载点。


    注 - AffinityOn 必须设置为 TRUE,并且本地文件系统必须驻留在全局磁盘组中才能进行故障转移。


    资源在启用状态下创建。

  8. 使群集节点上处于受管状态的故障转移资源组联机。
    # clresourcegroup online -M resource-group
    -M

    将联机的资源组置于受管理状态。

  9. 在故障转移资源组中创建 Oracle 应用程序资源。

    注 - 如果要使用 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (SCAN) 侦听器,请忽略配置 SUNW.oracle_listener 资源。


    • Oracle 服务器资源:

      # clresource create -g resourcegroup \
      -t SUNW.oracle_server \ 
      -p Oracle_sid=instance \
      -p Oracle_home=Oracle_home \
      -p Db_unique_name=db-unique-name \
      -p Restart_type=entity-to-restart \
      [-p Dataguard_role=role] \
      [-p Standby_mode=mode] \
      -p Resource_dependencies_offline_restart=storageplus-resource \
       resource
    • Oracle 侦听器资源:

      # clresource create -g resource-group \
      -t SUNW.oracle_listener \ 
      -p Listener_name=listener \
      -p Oracle_home=Oracle_home \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    -g resource-group

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

    -t

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

    -p Oracle_sid= instance

    设置 Oracle 系统标识符。

    -p Listener_name= listener

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

    -p Oracle_home= Oracle_home

    设置 Oracle 起始目录的路径。

    -p Db_unique_name=db-unique-name

    设置数据库的唯一名称。

    -p Restart_type= entity-to-restart

    指定对故障的响应为重新启动时,服务器故障监视器重新启动的实体。按如下所述设置 entity-to-restart

    • 要指定仅重新启动此资源,将 entity-to-restart 设置为 RESOURCE_RESTART。默认情况下,仅重新启动此资源。

    • 要指定重新启动包含此资源的资源组中的所有资源,将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART

      如果将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART,资源组中的所有其他资源(如 Apache 或 DNS)都将重新启动,即使它们没有发生故障也是如此。因此,仅在资源组中包括您需要在 Oracle 服务器资源重新启动时重新启动的资源。

    -p Dataguard_role=role

    指定数据库实例的角色。按如下所述更改 role

    • 要为未配置备用实例的主数据库实例创建资源,将 role 更改为 NONE。此值为默认值。

    • 要为已配置备用数据库实例的主数据库实例创建资源,请将 role 更改为 PRIMARY

    • 要为备用数据库实例创建资源,将 role 更改为 STANDBY

    -p Standby_mode=mode

    指定备用数据库实例的模式。如果将 Dataguard_role 更改为 NONEPRIMARYStandby_mode 的值将被忽略。

    • 要指定逻辑备用数据库,将 mode 更改为 LOGICAL。此值为默认值。

    • 要指定物理备用数据库,请将 mode 更改为 PHYSICAL

    • 要指定快照备用数据库,请将 mode 更改为 SNAPSHOT

    resource

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


    注 - 或者,可以设置属于 Oracle 数据服务的其他扩展属性以覆盖其默认值。有关扩展属性的列表,请参见设置 HA for Oracle 扩展属性


    即已创建处于启用状态的资源。

示例 1-1 注册 HA for Oracle 以在全局区域中运行

本示例显示如何在双节点群集上注册 HA for Oracle。下列为命令中使用的样例名称:

Node names(节点名称)

phys-schost-1, phys-schost-2

Logical hostname(逻辑主机名)

schost-1

Resource group(资源组)

resource-group-1(故障转移资源组)

HAStoragePlus resource(HAStoragePlus 资源)

hastp-rs

Oracle resources(Oracle 资源)

oracle-server-1, oracle-listener-1

Oracle instances(Oracle 实例)

ora-lsnr(侦听器),ora-srvr(服务器)

Oracle database unique name(Oracle 数据库唯一名称)

dbcloud

Create the failover resource group to contain all of the resources.
# clresourcegroup create resource-group-1
 
Add the logical hostname resource to the resource group.
# clreslogicalhostname create -g resource-group-1 schost-1 
 
Register the SUNW.HAStoragePlus resource type.
# clresourcetype register SUNW.HAStoragePlus

Add a resource of type SUNW.HAStoragePlus to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.HAStoragePlus \
-p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,/local/ora-data \
-p AffinityOn=TRUE \
hastp-rs
Bring the resource group online in a managed state
# clresourcegroup online -M resource-group-1

Register the Oracle resource types.
# clresourcetype register SUNW.oracle_server
# clresourcetype register SUNW.oracle_listener
 
Add the Oracle application resources to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.oracle_server \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \
-p Db_unique_name=dbcloud \
-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
-p Resource_dependencies_offline_restart=hastp-rs \
oracle-server-1
 
# clresource create -g resource-group-1 \
-t SUNW.oracle_listener \
-p Oracle_home=/global/oracle \
-p Listener_name=ora-lsnr \
oracle-listener-1

示例 1-2 注册要在区域群集中运行的 HA for Oracle

本示例说明了如何在区域群集中注册 HA for Oracle。下列为从全局群集发出的命令中使用的样例名称:

Node names(节点名称)

phys-schost-1, phys-schost-2

Zone cluster names(区域群集名称)

zonecluster1, zonecluster2

Logical hostname(逻辑主机名)

zchost-1

Resource group(资源组)

resource-group-1(故障转移资源组)

HAStoragePlus resource(HAStoragePlus 资源)

hastp-rs

Oracle resources(Oracle 资源)

oracle-server-1, oracle-listener-1

Oracle instances(Oracle 实例)

ora-lsnr(侦听器),ora-srvr(服务器)

Oracle database unique name(Oracle 数据库唯一名称)

dbcloud

Create the failover resource group to contain all of the resources.)
# clresourcegroup create -Z zonecluster1 resource-group-1
 
Add the logical hostname resource to the resource group.)
# clreslogicalhostname create -Z zonecluster1 -g resource-group-1 zchost-1 
 
Register the SUNW.HAStoragePlus resource type.)
# clresourcetype register -Z zonecluster1 SUNW.HAStoragePlus

Add a resource of type SUNW.HAStoragePlus to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.HAStoragePlus \
-p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,/local/ora-data \
-p AffinityOn=TRUE \
hastp-rs

Bring the resource group online in a managed state
# clresourcegroup online -Z zonecluster1 -M resource-group-1

Register the Oracle resource types.)
# clresourcetype register -Z zonecluster1 SUNW.oracle_server
# clresourcetype register -Z zonecluster1 SUNW.oracle_listener
 
Add the Oracle application resources to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.oracle_server \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \
-p Db_unique_name=dbcloud \
-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
oracle-server-1
 
# clresource create -Z zonecluster1 -g resource-group-1 \
-t SUNW.oracle_listener \
-p Oracle_home=/global/oracle \
-p Listener_name=ora-lsnr \
oracle-listener-1

如何使用群集 Oracle ASM 磁盘组和第三方卷管理器 (CLI) 创建 Oracle Grid Infrastructure 资源

执行此过程,以在使用群集 Oracle ASM 的配置中包括第三方卷管理器和群集 Oracle ASM 磁盘组。此过程使用 Oracle Grid Infrastructure (Grid Infrastructure) 命令和 Oracle Solaris Cluster 维护命令。

使用此过程手动创建代理 Oracle Solaris Cluster SUNW.ScalDeviceGroup 资源的 Oracle Grid Infrastructure 资源。在此过程中,Grid Infrastructure 资源名为 sun.resource。您可以配置 sun.resource 以确保对应的 Oracle ASM 磁盘组直到 sun.resource 联机才会挂载。仅当对应的 SUNW.ScalDeviceGroup 资源联机时,sun.resource 资源才联机。仅当实际的卷管理器磁盘集或磁盘组联机时,SUNW.ScalDeviceGroup 资源才联机。

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

开始之前

配置供群集 Oracle ASM 使用的磁盘集或磁盘组。

  1. 成为超级用户。
  2. 创建 Grid Infrastructure sun.storage_proxy.type 资源类型。
    # /Grid_home/bin/crsctl add type sun.storage_proxy.type -basetype cluster_resource
  3. 创建类型为 sun.storage_proxy.type 的 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' \
    HOSTING_MEMBERS='node1 node2' \
    CARDINALITY='2' \
    PLACEMENT='restricted' \
    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 操作脚本。

    HOSTING_MEMBERS

    指定包含 SUNW.ScalDeviceGroup 资源的 Oracle Solaris Cluster 资源组节点列表项。

    CARDINALITY

    设置在 HOSTING_MEMBERS 中定义的主机的数量。

    PLACEMENT

    设置为 restricted(受限)。

    ACL

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

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

    设置为 20

    RESTART_ATTEMPTS

    设置为 60

  4. 检验是否已正确定义 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--
          ACTION_FAILURE_TEMPLATE=
          ACTION_SCRIPT=/opt/SUNWscor/dsconfig/bin/scproxy_crs_action
          ACTIVE_PLACEMENT=0
          AGENT_FILENAME=%CRS_HOME%/bin/scriptagent
          AUTO_START=restore
          CARDINALITY=2
          CHECK_INTERVAL=60
          DEFAULT_TEMPLATE=
          DEGREE=1
          DESCRIPTION=
          ENABLED=1
          FAILOVER_DELAY=0
          FAILURE_INTERVAL=0
          FAILURE_THRESHOLD=0
          HOSTING_MEMBERS=node1 node2
          LOAD=1
          LOGGING_LEVEL=1
          NOT_RESTARTING_TEMPLATE=
          OFFLINE_CHECK_INTERVAL=0
          PLACEMENT=restricted
          PROFILE_CHANGE_TEMPLATE=
          RESTART_ATTEMPTS=60
          SCRIPT_TIMEOUT=20
          SERVER_POOLS=
          START_DEPENDENCIES=
          START_TIMEOUT=0
          STATE_CHANGE_TEMPLATE=
          STOP_DEPENDENCIES=
          STOP_TIMEOUT=0
          UPTIME_THRESHOLD=1h
    #
  5. 设置脱机重新启动依赖性以便添加一个依赖性。
    1. 显示当前依赖性。
      # /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 --
    2. 设置新的依赖性。
      • 如果 asm-data1-rs 已经存在,请使用以下命令设置依赖性。

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

        # clresource set -p Resource_dependencies_offline_restart+=scal-asmdg1-rs 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
    3. 检验配置的依赖性。
      # /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 --

接下来的步骤

请转至如何注册和配置带有群集 Oracle ASM 实例 (Clustered Instance, CLI) 的 HA for Oracle

如何注册和配置带有群集 Oracle ASM 实例 (Clustered Instance, CLI) 的 HA for Oracle

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


注 - 在执行此过程中的步骤之前,应先安装 Oracle Clusterware 软件。


  1. 在群集成员上成为超级用户,或承担可提供 solaris.cluster.modifysolaris.cluster.admin RBAC 授权的角色。

    注 - 还可以使用 clsetup 实用程序来执行此过程中的步骤 1 到 6。


  2. 注册 Oracle RAC 框架和 Oracle Clusterware 框架的资源类型。
    # clresourcetype register SUNW.rac_framework
    # clresourcetype register SUNW.crs_framework
  3. 创建一个可伸缩资源组 rac-fmwk-rg
    # clresourcegroup create -S rac-fmwk-rg
  4. SUNW.rac_framework 类型的资源添加到 rac-fmwk-rg 资源组。
    # clresource create -g rac-fmwk-rg -t SUNW.rac_framework rac-fmwk-rs
  5. 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
  6. 为 Oracle 数据库创建故障转移资源组 ora-db-rg
    # clresourcegroup create ora-db-rg
  7. 注册 SUNW.HAStoragePlus 资源类型并创建一个资源组。

    注 - 有关如何设置文件系统的信息,请参见准备节点和磁盘


  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. SUNW.scalable_asm_instance_proxy 类型的资源添加到 asm-inst-rg 资源组。
    # clresource create -g asm-inst-rg \
    -t SUNW.asm_instance_proxy \
    -p Oracle_home=Oracle_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_inst_proxy

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

    -p oracle_sid{node} =instance

    设置 Oracle 系统标识符。

    -p Oracle_home= Oracle_home

    设置 Oracle 起始目录的路径。

    -p Resource_dependencies_offline_restart= crs-fmwk-rs

    指定脱机重新启动依赖性。

    -d asm-inst-rs

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

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

    对于 HA for Oracle,可注册 SUNW.oracle_serverSUNW.oracle_listener 两种资源类型,如下所示。


    注 - 如果使用 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (SCAN) 侦听器,则省略 SUNW.oracle_listener 资源类型的注册。


    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  19. 为 Oracle 数据库的故障转移资源组添加逻辑主机名资源。
    # clreslogicalhostname create -g ora-db-rg [-h logicalhostname] \
    logicalhostname-rs
    logicalhostname

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

    logicalhostname-rs

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

  20. 使群集节点上处于受管状态的故障转移资源组联机。
    # clresourcegroup online -eM ora-db-rg
  21. 在故障转移资源组中创建 Oracle 应用程序资源。

    注 - 如果要使用 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (SCAN) 侦听器,请忽略配置 SUNW.oracle_listener 资源。


    • Oracle 服务器资源:

      # clresource create -g ora-db-rg \
      -t SUNW.oracle_server \
      -p Oracle_sid=instance \
      -p Oracle_home=Oracle_home \
      -p Db_unique_home=db-unique-home \
      -p Resource_dependencies_offline_restart=asm-dg-rs \
      -d ora-db-rs
    • Oracle 侦听器资源:

      # clresource create -g ora-db-rg \
      -t SUNW.oracle_listener \
      -p Oracle_home=Oracle_home \
      -p Listener_name=listener \
      -p Resource_dependencies_offline_restart=asm-dg-rs \
      -d ora-ls-rs
    -g ora-db-rg

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

    -t SUNW.oracle_server/listener

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

    -p Oracle_sid= instance

    设置 Oracle 系统标识符。

    -p Oracle_home= Oracle_home

    设置 Oracle 起始目录的路径。

    -p Db_unique_name=db-unique-name

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

    -p listener_name= listener

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

    -d ora-ls-rs

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


    注 - 或者,可以设置属于 Oracle 数据服务的其他扩展属性以覆盖其默认值。有关扩展属性的列表,请参见设置 HA for Oracle 扩展属性


  22. 使 Oracle 服务器资源联机。
    # clresource enable ora-db-rs
  23. 如果已配置,使 Oracle 侦听器资源联机。
    # clresource enable ora-ls-rs

此时应该执行的操作

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