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

文档信息

前言

安装和配置 HA for Oracle

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

规划 HA for Oracle 安装和配置

配置要求

配置规划问题

准备节点和磁盘

如何准备节点

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

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

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

如何安装 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 扩展属性

如何通过使用 clsetup 实用程序注册和配置 HA for Oracle

如何使用 Oracle Solaris Cluster 维护命令注册和配置不使用 Oracle ASM 的 HA for Oracle

如何使用 Oracle Solaris Cluster 维护命令注册和配置使用单一实例 Oracle ASM 的 HA for Oracle

如何使用 Oracle Solaris Cluster 维护命令注册和配置使用群集 Oracle ASM 实例的 HA for Oracle

从此处可转至何处

检验 HA for Oracle 安装

如何检验 HA for Oracle 安装

Oracle 客户端

HA for Oracle 日志文件的位置

调整 HA for Oracle 故障监视器

Oracle 服务器故障监视器操作

主要故障监视器操作

数据库客户端故障探测操作

已归档 Redo 日志分区监视器操作

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

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

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

Oracle 侦听器故障监视器操作

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

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

为错误定义定制行为

定制操作文件格式

更改对 DBMS 错误的响应

响应影响严重的错误

忽略影响轻微的错误

将响应更改为已记录的警报

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

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

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

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

升级 HA for Oracle 资源类型

升级 SUNW.oracle_listener 资源类型

有关注册新资源类型版本的信息

有关迁移现有资源类型实例的信息

升级 SUNW.oracle_server 资源类型

有关注册新资源类型版本的信息

有关迁移现有资源类型实例的信息

更改 Oracle Data Guard 实例的角色

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

A.  HA for Oracle 扩展属性

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

C.  用于 HA for Oracle 的 Oracle ASM 配置样例

索引

注册和配置 HA for Oracle

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

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

clsetup 实用程序和 Oracle Solaris Cluster Manager 分别提供用于配置 HA for Oracle 的向导。这些向导可降低由于命令语法错误或疏忽而导致配置错误的可能性。这些向导还可确保创建需要的所有资源并设置资源之间需要的所有依赖性。

设置 HA for Oracle 扩展属性

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

您可以动态更新某些扩展属性。不过,其他属性只能在创建或禁用资源时更新。可调的条目指示您何时可以更新每个属性。有关所有 Solaris Cluster 属性的详细信息,请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的附录 A "Standard Properties"

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

如何通过使用 clsetup 实用程序注册和配置 HA for Oracle

此过程提供了 Solaris Cluster 维护命令的长格式。此外,大多数命令还有简短格式。除了命令名称的形式以外,简写形式和完整形式的命令是相同的。


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


开始之前

确保满足以下先决条件:

确保拥有以下信息:

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

    屏幕上将显示 clsetup 主菜单。

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

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

  4. 键入与 configuringHA for Oracle 选项对应的编号,然后按 Return 键。

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

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

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

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

      确保节点或区域以其在资源组(Oracle 资源放入其中)节点列表中显示的顺序列出。列表中的第一个节点或区域是此资源组的主节点或区域。

    • 要以特定顺序选择所有节点或区域,键入以逗号分隔或以空格分隔的已排序编号列表(与节点或区域对应),然后按 Return 键。

      确保节点或区域以其在资源组(Oracle 资源放入其中)节点列表中显示的顺序列出。列表中的第一个节点或区域是此资源组的主节点或区域。

  7. 要确认节点或区域选择,键入 d,然后按 Return 键。

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

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

    clsetup 实用程序会列出 Oracle 主目录。

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

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

    • 如果没有列出该目录,则明确指定该目录。
      1. 键入 e,然后按 Return 键。

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

      2. 键入 Oracle 主目录的完整路径,然后按 Return 键。

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

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

        clsetup 实用程序会显示该实用程序将创建的 Solaris Cluster 资源的属性。

    • 如果没有列出该 SID,则明确指定该 SID。
      1. 键入 e,然后按 Return 键。

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

      2. 键入 SID,然后按 Return 键。

        clsetup 实用程序会显示该实用程序将创建的 Solaris Cluster 资源的属性。

    clsetup 实用程序会显示该实用程序将创建的 Solaris Cluster 资源的属性。

  11. 如果任何 Oracle Solaris Cluster 资源属性需要其他名称,则按如下方式更改各名称。
    1. 键入与您要更改的名称对应的编号,然后按 Return 键。

      clsetup 实用程序会显示一个屏幕,您可在此处指定新名称。

    2. 在“新值”提示下键入新名称,然后按 Return 键。

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

  12. 要确认 Oracle Solaris Cluster 资源属性选择,键入 d,然后按 Return 键。

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

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

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

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

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

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

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

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

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

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

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

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

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

  21. 如果任何 Solaris Cluster 对象需要其他名称,则按如下方式更改各名称。
    • 键入与您要更改的名称对应的编号,然后按 Return 键。

      clsetup 实用程序会显示一个屏幕,您可在此处指定新名称。

    • 在“新值”提示下键入新名称,然后按 Return 键。

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

  22. 要确认 Oracle Solaris Cluster 对象名称选择,键入 d,然后按 Return 键。
  23. 要创建配置,键入 c,然后按 Return 键。

    clsetup 实用程序会显示进度消息,指示该实用程序正在运行命令以创建该配置。配置完成时,clsetup 实用程序会显示该实用程序为创建配置而运行的命令。

  24. 按 Return 键继续。
  25. (可选的)键入 q 并反复按 Return 键,直到退出 clsetup 实用程序。

    如果希望,可保持运行 clsetup 实用程序的同时执行所需的其他任务,然后再次使用该实用程序。

如何使用 Oracle Solaris Cluster 维护命令注册和配置不使用 Oracle ASM 的 HA for Oracle

此过程提供了 Oracle Solaris Cluster 维护命令的长格式。此外,大多数命令还有简短格式。除了命令名称的形式以外,简写形式和完整形式的命令是相同的。

开始之前

确保满足以下先决条件:

确保拥有以下信息:

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

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

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

    如果您使用 Solaris ZFS 则不需要此步骤,因为在配置高可用性本地 ZFS 时已创建资源组。本过程中其他步骤创建的资源将添加到此资源组。

    或者,您可以选择节点或区域集,以供在其上使用 -n 选项运行数据服务,如下所示。

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

    指定可控制此资源组的、以逗号分隔的已排序区域列表。列表中各条目的格式为 node:zone。在此格式中,node 指定节点的名称或 ID,而 zone 指定非全局 Solaris 区域的名称。要指定全局区域,或指定不含非全局区域的节点,则仅指定 node 即可。

    此列表中的顺序会确定故障转移期间将节点或区域视为主节点的顺序。此列表是可选的。如果您忽略此列表,则各群集节点的全局区域可控制该资源组。

    resource-group

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

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

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


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


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

    指定逻辑主机名。此逻辑主机名必须出现在您的名称服务数据库中。如果 logicalhostnamelogicalhostname-rs 完全相同,则 logicalhostname 是可选的。

    logicalhostname-rs

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

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

    注意

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



    注 - 如果要在非全局区域中支持 SUNW.HAStoragePlus 资源类型,则该资源类型必须为版本 4。



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


    # 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 服务器资源:

      # clresource create  -g resourcegroup \
      -t SUNW.oracle_server \ 
      -p Connect_string=user/passwd \
      -p ORACLE_SID=instance \
      -p ORACLE_HOME=Oracle-home \
      -p Alert_log_file=path-to-log \
      -p Restart_type=entity-to-restart \
      [-p Dataguard_role=role] \
      [-p Standby_mode=mode] \-p resource_dependencies=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=storageplus-resource resource
    -g resource-group

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

    -t SUNW.oracle_server/listener

    指定要添加的资源类型。

    -p Alert_log_file =path-to-log

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

    -p Connect_string =user/passwd

    指定故障监视器用于连接数据库的用户和密码。这些设置必须与您在如何设置 Oracle 数据库权限中设置的权限一致。如果您使用 Solaris 授权,键入斜杠 (/) 而非用户名和密码。

    -p ORACLE_SID= instance

    设置 Oracle 系统标识符。

    -p LISTENER_NAME= listener

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

    -p ORACLE_HOME= Oracle-home

    设置 Oracle 主目录的路径。

    -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 更改为 NONEPRIMARY,则 Standby_mode 的值将被忽略。

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

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

    resource

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


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


    资源在启用状态下创建。

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

以下示例显示如何在双节点群集中注册 HA for Oracle。

Cluster Information
Node names: phys-schost-1, phys-schost-2
Logical Hostname: schost-1
Resource group: resource-group-1 (failover resource group)
HAStoragePlus Resource: hastp-rs
Oracle Resources: oracle-server-1, oracle-listener-1
Oracle Instances: ora-lsnr (listener), ora-srvr (server)
 
(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 Alert_log_file=/global/oracle/message-log \
-p ORACLE_SID=ora-srvr -p Connect_string=scott/tiger \
-p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL 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

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

以下示例显示如何在双节点群集中注册 HA for Oracle。

Cluster Information
Node names: phys-schost-1, phys-schost-2
Non-global zone names: sc1zone1, sc2zone1
Logical Hostname: schost-1
Resource group: resource-group-1 (failover resource group)
HAStoragePlus Resource: hastp-rs
Oracle Resources: oracle-server-1, oracle-listener-1
Oracle Instances: ora-lsnr (listener), ora-srvr (server)
 
(Create the failover resource group to contain all of the resources.)
# clresourcegroup create phys-schost-1:sc1zone1,phys-schost-2:sc2zone1 \
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 Alert_log_file=/global/oracle/message-log \
-p ORACLE_SID=ora-srvr -p Connect_string=scott/tiger \
-p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL 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

示例 3 注册 HA for Oracle 以在区域群集中运行

以下示例显示如何在区域群集中注册 HA for Oracle。

Cluster Information
Node names: phys-schost-1, phys-schost-2
zone cluster names: zonecluster1, zonecluster2
Logical Hostname: zchost-1
Resource group: resource-group-1 (failover resource group)
HAStoragePlus Resource: hastp-rs
Oracle Resources: oracle-server-1, oracle-listener-1
Oracle Instances: ora-lsnr (listener), ora-srvr (server)
 
(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 Alert_log_file=/global/oracle/message-log \
-p ORACLE_SID=ora-srvr -p Connect_string=scott/tiger \
-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 Solaris Cluster 维护命令注册和配置使用单一实例 Oracle ASM 的 HA for Oracle


注 - Oracle 11g 发行版 2 不支持单一实例 Oracle ASM。


本过程说明使用 Oracle Solaris Cluster 维护命令注册和配置单一实例 Oracle ASM 的步骤。Oracle ASM 的 Oracle_Home 仅位于本地文件系统上。


注 - 可在不同的资源组中配置 Oracle ASM 磁盘组和 Oracle 数据库。如果在不同的资源组中配置 Oracle ASM 磁盘组和 Oracle 数据库,应将 Oracle ASM 磁盘组资源组和 Oracle 数据库资源组之间设置为正向强关联 (+++)。


  1. 在群集成员上成为超级用户或担任可提供 solaris.cluster.modify solaris.cluster.admin RBAC 授权的角色。
  2. 注册数据服务的 Oracle ASM 资源类型。
    1. 注册可伸缩的 ASM 实例代理资源类型。
      # clresourcetype register SUNW.scalable_asm_instance_proxy
    2. 注册 ASM 磁盘组资源类型。
      • 仅限于 Oracle 10g 和 11g 发行版 1,使用 SUNW.asm_diskgroup 资源类型。
        # clresourcetype register SUNW.asm_diskgroup
      • 仅限于 Oracle 11g 发行版 2,使用 SUNW.scalable_asm_diskgroup_proxy 资源类型。
        # clresourcetype register SUNW.scalable_asm_diskgroup_proxy
  3. 为 Oracle ASM 实例创建可伸缩资源组 asm-inst-rg
    # clresourcegroup create -S asm-inst-rg
    -S asm-inst-rg

    指定 Oracle ASM 实例的可伸缩资源组的名称。

  4. 将逻辑主机名资源添加到 asm-dg-rg 资源组。
    # clreslogicalhostname create -g asm-dg-rg [-h logicalhostname] \
    logicalhostname-rs
    -h logicalhostname

    指定逻辑主机名。此逻辑主机名必须出现在您的名称服务数据库中。如果 logicalhostnamelogicalhostname-rs 完全相同,则 logicalhostname 是可选的。

    logicalhostname-rs

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

  5. SUNW.scalable_asm_instance 类型的资源添加到 asm-inst-rg 资源组。
    # clresource create -g asm-inst-rg \
    -t SUNW.scalable_asm_instance \
    -p ORACLE_HOME=oracle-home \
    -d asm-inst-rs
    -g asm-inst-rg

    指定 Oracle ASM 实例的资源组的名称。

    -p ORACLE_HOME= oracle-home

    设置 Oracle ASM 主目录的路径。


    注 - 只能使用本地文件系统作为 Oracle ASM 主目录。


    -d asm-inst-rs

    指定要创建的 Oracle ASM 实例资源的名称。

  6. 使群集节点中处于受管理状态的可伸缩资源组联机。
    # clresourcegroup online -eM asm-inst-rg
  7. 创建 Oracle ASM 资源组 asm-dg–rg
    # clresourcegroup create asm-dg-rg
  8. 通过资源组 asm-dg-rg 在 Oracle ASM 磁盘组中设置正向强关联。
    # clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg
  9. SUNW.asm_diskgroup 类型的资源添加到 asm-dg-rg 资源组。
    • 仅限于 Oracle 10g 和 11g 发行版 1,使用 SUNW.asm_diskgroup 资源类型。
      # clresource create -g asm-dg-rg -t SUNW.asm_diskgroup \
      -p asm_diskgroups=dg[,dg…] \
      -p resource_dependencies_offline_restart=asm-inst-rs,asm-stor-rs \
      -d asm-dg-rs
      -t SUNW.asm_diskgroup

      指定要添加的资源类型。

      -p asm_diskgroups =dg

      指定 ASM 磁盘组。

      asm-stor-rs

      指定 Oracle ASM 存储资源的名称。

      -d asm-dg-rs

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

    • 仅限于 Oracle 11g 发行版 2,使用 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
  10. 使处于受管理状态的 Oracle ASM 磁盘资源组联机。
    # clresource online -eM asm-dg-rg
  11. 通过发出状态命令来检验 Oracle ASM 安装。
    # clresource status +
  12. 注册 HA for Oracle 数据服务的资源类型。

    对于 HA for Oracle,可注册资源类型(SUNW.oracle_serverSUNW.o a le_listener)如下所示。

    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  13. 在故障转移资源组中创建 Oracle 应用程序资源。
    • Oracle 服务器资源:

      # clresource create -g asm-dg-rg \
      -t SUNW.oracle_server \ 
      -p Connect_string=user/passwd \
      -p ORACLE_SID=instance \
      -p ORACLE_HOME=Oracle-home \
      -p Alert_log_file=path-to-log \
      -p Restart_type=entity-to-restart \
      -p Resource_dependencies_offline_restart=asm-dg-rs \
      -d  ora-db-rs
    • Oracle 侦听器资源:

      # clresource create -g asm-dg-rg \
      -t SUNW.oracle_listener \ 
      -p LISTENER_NAME=listener \
      -p ORACLE_HOME=Oracle-home \
      -p resource_dependencies_offline_restart=asm-dg-rs logicalhostname-rs \
      -d ora-lsr-rs
    -g asm-dg-rg

    指定要在其中放入资源的 Oracle ASM 磁盘资源组名称。

    -t SUNW.oracle_server/listener

    指定要添加的资源类型。

    -p Alert_log_file =path-to-log

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

    -p Connect_string =user/passwd

    指定故障监视器用于连接数据库的用户和密码。这些设置必须与您在如何设置 Oracle 数据库权限中设置的权限一致。如果您使用 Solaris 授权,键入斜杠 (/) 而非用户名和密码。

    -p ORACLE_SID= instance

    设置 Oracle 系统标识符。

    -p LISTENER_NAME= listener

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

    -p ORACLE_HOME= Oracle-home

    设置 Oracle 主目录的路径。


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


  14. 使 Oracle 服务器资源联机。
    # clresource enable ora-db-rs 
  15. 使 Oracle 侦听器资源联机。
    # clresource enable ora-lsr-rs 

如何使用 Oracle Solaris Cluster 维护命令注册和配置使用群集 Oracle ASM 实例的 HA for Oracle

本过程说明使用 Oracle Solaris Cluster 维护命令注册和配置使用群集 Oracle ASM 实例的 HA for Oracle 的步骤。


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


  1. 在群集成员上成为超级用户或担任可提供 solaris.cluster.modify solaris.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=rac-fmwk-rs \
    -d crs-fmwk-rs
  6. 创建用于 Oracle 数据库的故障转移资源组 ora-db-rg
    # clresourcegroup create ora-db-rg
  7. SPARC:如果使用 SPARC,则执行以下步骤。否则,请转至步骤 8

    注 - 只有在执行 Oracle ASM 软件安装之前已安装 ORCLudlm 软件包的情况下,才能执行此步骤。


    1. 注册 Oracle UDLM 的资源类型。
      # clresourcetype register SUNW.rac_udlm
    2. SUNW.rac_udlm 类型的资源添加到 rac-fmwk-rg 资源组。
      # clresource create -g rac-fmwk-rg -t SUNW.rac_udlm \
      -p resource_dependencies=rac-fmwk-rs rac-udlm-rs
  8. 为您所使用文件系统注册相应的资源类型,并创建资源组。

    注 - 您应该确定 Oracle_Home 要使用的文件系统,并在执行此步骤之前设置文件系统。有关如何设置文件系统的信息,请参见准备节点和磁盘


    如果使用 QFS 共享文件系统,则执行以下步骤以注册 QFS 共享文件系统资源类型并创建资源组。否则,应使用 SUNW.HAStoragePlus 资源类型。

    • 如果使用 QFS 共享文件系统,则执行以下步骤以注册 QFS 共享文件系统资源类型并创建资源组。否则,应使用 SUNW.HAStoragePlus 资源类型。
      1. 注册 QFS 共享文件系统的资源类型。
        # clresourcetype register SUNW.qfs
      2. 创建资源组 qfs-rg
        # clresourcegroup create qfs-rg
      3. 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

        指定 QFS 共享文件系统挂载点。

        qfs-rs

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

      4. 使群集节点中处于受管理状态的 qfs-rg 资源组联机。
        # clresourcegroup online -eM qfs-rg
      5. 注册 SUNW.ScalMountPoint 的资源类型。
        # clresourcetype register SUNW.ScalMountPoint
      6. 创建可伸缩的资源组 scal-mp-rg
        # clresourcegroup create -S scal-mp-rg
      7. SUNW.ScalMountPoint 类型的资源添加到 scal-mp-rg 资源组。
        # clresource create -g scal-mp-rg -t SUNW.ScalMountPoint \
        -p mountpointdir=mount-point \
        -p filesystemtype=s-qfs \
        -p targetfilesystem=qfs-name \
        -p resource_dependencies=qfs-rs \
        -d scal-mp-rs
        -g scal-mp-rg

        指定可伸缩资源组的名称。

        -t SUNW.ScalMountPoint

        指定要添加的资源类型。

        -p mountpointdir= mount-point

        指定文件系统挂载的目录。

        -p filesystemtype =s-qfs

        指定您使用的文件系统类型。

        -p targetfilesystem =qfs-name

        指定此挂载点上挂载的文件系统名称。

        -d scal-mp-rs

        指定要创建的可伸缩挂载点资源的名称。

      8. 使群集节点中处于受管理状态的 scal-mp-rg 资源组联机。
        # clresourcegroup online -eM scal-mp-rg
    • 如果使用的文件系统并非 QFS 共享文件系统,则执行以下步骤以注册 SUNW.HAStoragePlus 资源类型并创建资源组。
      1. 注册 SUNW.HAStoragePlus 资源类型。
        # clresourcetype register SUNW.HAStoragePlus
      2. SUNW.HAStorgePlus 类型的资源添加到 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
  9. 注册数据服务的 Oracle ASM 资源类型。
    1. 注册可伸缩的 ASM 实例代理资源类型。
      # clresourcetype register SUNW.scalable_asm_instance_proxy
    2. 注册 ASM 磁盘组资源类型。
      • 仅限于 Oracle 10g 和 11g 发行版 1,使用 SUNW.asm_diskgroup 资源类型。
        # clresourcetype register SUNW.asm_diskgroup
      • 仅限于 Oracle 11g 发行版 2,使用 SUNW.scalable_asm_diskgroup_proxy 资源类型。
        # clresourcetype register SUNW.scalable_asm_diskgroup_proxy
  10. 创建资源组 asm-inst-rgasm-dg-rg
    # clresourcegroup create -S asm-inst-rg asm-dg-rg
  11. 通过 asm-inst-rgrac-fmwk-rg 中设置正向强关联。
    # clresourcegroup set -p rg_affinities=++rac-fmwk-rg asm-inst-rg
  12. 通过 asm-dg-rgasm-inst-rg 中设置正向强关联。
    # clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg
  13. SUNW.crs_framework 类型的资源添加到 rac-fmwk-rg 资源组。
    # clresource create -g rac-fmwk-rg -t SUNW.crs_framework \
    -p resource_dependencies=rac-fmwk-rs \
    -d crs-fmwk-rs
  14. 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 crs_home=crs-home \
    -p "oracle_sid{node1}"=instance \
    -p "oracle_sid{node2}"=instance \
    -p resource_dependencies_offline_restart=crs-fmwk-rs,qfs-mp-rs \
    -d asm-inst-rs
    -g asm-inst-rg

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

    -t SUNW.asm_inst_proxy

    指定要添加的资源类型。

    -p ORACLE_SID= instance

    设置 Oracle 系统标识符。

    -p ORACLE_HOME= Oracle-home

    设置 Oracle 主目录的路径。

    -d asm-inst-rs

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

  15. 将 ASM 磁盘组资源添加到 asm-dg-rg 资源组。
    • 仅限于 Oracle 10g 和 11g 发行版 1,使用 SUNW.asm_diskgroup 资源类型。
      # clresource create -g asm-dg-rg -t SUNW.asm_diskgroup \
      -p asm_diskgroups=dg[,dg…] \
      -p resource_dependencies_offline_restart=asm-inst-rs,asm-stor-rs \
      -d asm-dg-rs
      -t SUNW.asm_diskgroup

      指定要添加的资源类型。

      -p asm_diskgroups =dg

      指定 ASM 磁盘组。

      asm-stor-rs

      指定 Oracle ASM 存储资源的名称。

      -d asm-dg-rs

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

    • 仅限于 Oracle 11g 发行版 2,使用 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 数据服务的资源类型。

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

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

    指定逻辑主机名。此逻辑主机名必须出现在您的名称服务数据库中。如果 logicalhostnamelogicalhostname-rs 完全相同,则 logicalhostname 是可选的。

    logicalhostname-rs

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

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

      # clresource create -g ora-db-rg \
      -t SUNW.oracle_server \ 
      -p Connect_string=user/passwd \
      -p ORACLE_SID=instance \
      -p ORACLE_HOME=Oracle-home \
      -p Alert_log_file=path-to-log \
      -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,logicalhostname-rs \
      -d ora-ls-rs
    -g ora-db-rg

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

    -t SUNW.oracle_server/listener

    指定要添加的资源类型。

    -p Alert_log_file =path-to-log

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

    -p Connect_string =user/passwd

    指定故障监视器用于连接数据库的用户和密码。这些设置必须与您在如何设置 Oracle 数据库权限中设置的权限一致。如果您使用 Solaris 授权,键入斜杠 (/) 而非用户名和密码。

    -p ORACLE_SID= instance

    设置 Oracle 系统标识符。

    -p ORACLE_HOME= Oracle-home

    设置 Oracle 主目录的路径。

    -p listener_name= listener

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

    -d ora-ls-rs

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


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


  23. 使 Oracle 服务器资源联机。
    # clresource enable ora-db-rs
  24. 使 Oracle 侦听器资源联机。
    # clresource enable ora-ls-rs
群集文件系统

注 - 您也可以在群集文件系统中安装 Oracle ASM 的 Oracle_Home。如果使用群集文件系统,应创建资源 SUNW.HAStoragePlusSUNW.s a able_asm_instance,并设置这两个资源之间相应的依赖性。

如下所示提供创建 SUNW.HAStoragePlus 资源和 SUNW.scalable_asm_instance 资源的样例命令:

# 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 \
-p ORACLE_HOME=oracle-home \
-p "oracle_sid{node1}"=instance \
-p "oracle_sid{node2}"=instance \
-p resource_dependencies_restart=hastp-rs \
-p resource_dependencies_offline_restart=crs-fmwk-rs \
asm-inst-rs

从此处可转至何处

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