跳过导航链接 | |
退出打印视图 | |
适用于 Oracle 的 Oracle Solaris Cluster 数据服务指南 Oracle Solaris Cluster 3.3 3/13 (简体中文) |
如何使用 Solaris Volume Manager 配置 Oracle 数据库访问
如何使用 Veritas Volume Manager 配置 Oracle 数据库访问
如何使用 Oracle ASM 配置 Oracle 数据库访问
如何配置 Oracle Grid Infrastructure for Clusters SCAN 侦听器
如何注册和配置 HA for Oracle (clsetup)
如何注册和配置不带有 Oracle Grid Infrastructure 的 HA for Oracle (CLI)
如何为独立服务器注册和配置带有 Oracle Grid Infrastructure 的 HA for Oracle (CLI)
如何为群集注册和配置带有 Oracle Grid Infrastructure 的 HA for Oracle (CLI)
本节介绍如何在运行 Oracle Solaris Cluster 软件的相同节点上安装或未安装 Oracle Grid Infrastructure (Grid Infrastructure) 软件的情况下注册和配置 HA for Oracle 数据服务。
本节提供了以下信息:
如何为独立服务器注册和配置带有 Oracle Grid Infrastructure 的 HA for Oracle (CLI)
如何为群集注册和配置带有 Oracle Grid Infrastructure 的 HA for Oracle (CLI)
Oracle Solaris Cluster 提供以下用于注册和配置 HA for Oracle 的工具:
clsetup(1CL) 实用程序。有关更多信息,请参见如何注册和配置 HA for Oracle (clsetup)。
Oracle Solaris Cluster Manager。有关更多信息,请参见 Oracle Solaris Cluster Manager 联机帮助。
Oracle Solaris Cluster 维护命令。有关更多信息,请参见如何注册和配置不带有 Oracle Grid Infrastructure 的 HA for Oracle (CLI)。
clsetup 实用程序和 Oracle Solaris Cluster Manager 都提供了用于配置 HA for Oracle 的向导。此类向导降低了由于命令语法错误或遗漏而导致发生配置错误的可能性。这些向导还可确保创建所有必需资源以及设置资源之间的所有必需依赖性。
使用附录 A中的扩展属性创建资源。要设置资源的扩展属性,请将选项 -p property=value 包括在用于创建或修改资源的 clresource(1CL) 命令中。如果您已创建资源,请按照《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 ASM 或 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (Single Client Access Name, SCAN) 的 Oracle Database 版本 11g R2 或 12c,则只需要设置 Oracle 服务器的以下扩展属性:
ORACLE_HOME
ORACLE_SID
Db_unique_name
否则,只需设置以下扩展属性:
ORACLE_HOME
ORACLE_SID
Alert_log_file
Connect_string
此过程提供了 Oracle Solaris Cluster 维护命令的长格式。此外,大多数命令还有短形式。这些命令除了格式不同以外,其功能都是相同的。
注 - clsetup 实用程序不支持使用 ZFS 的 HA for Oracle 配置。
开始之前
确保满足以下先决条件:
如果使用卷管理器,则群集的卷管理器配置为在共享存储中提供卷,该共享存储可从可能运行 Oracle 的任何节点进行访问。
如果使用卷管理器,则在 Oracle 将用于其数据库的存储卷上创建原始设备和文件系统。
Oracle 软件在安装后可从可能运行 Oracle 的所有节点或区域进行访问。
为 Oracle 配置 UNIX 操作系统的内核变量。
已为可能可运行 Oracle 的所有节点或区域配置 Oracle 软件。
已安装数据服务软件包。
确保您具有以下信息:
控制数据服务的群集节点或区域的名称。
客户机用于访问数据服务的逻辑主机名。通常在安装群集时设置该 IP 地址。有关网络资源的详细信息,请参见《Oracle Solaris Cluster Concepts Guide》。
您计划配置的资源的 Oracle 数据库应用程序二进制文件路径。
数据库类型。
# clsetup
此时将显示 clsetup 主菜单。
此时将显示 数据服务 菜单。
clsetup 实用程序将显示执行此任务的先决条件列表。
clsetup 实用程序会显示群集节点的列表。
确保列出节点或区域的顺序与在放置 Oracle 数据库资源的资源组的节点列表中显示节点或区域的顺序相同。列表中的第一个节点或区域是此资源组的主节点或主区域。
确保列出节点或区域的顺序与在放置 Oracle 资源的资源组的节点列表中显示节点或区域的顺序相同。列表中的第一个节点或区域是此资源组的主节点或主区域。
clsetup 实用程序会显示要配置的 Oracle 数据库组件的类型。
clsetup 实用程序将列出 Oracle 数据库主目录。
clsetup 实用程序将显示在群集上配置的 Oracle 数据库系统标识符的列表。该实用程序还会提示您指定 Oracle 安装的系统标识符。
clsetup 实用程序会提示您输入 Oracle 主目录。
clsetup 实用程序将显示在群集上配置的 Oracle 系统标识符的列表。该实用程序还提示您为 Oracle 数据库软件安装指定系统标识符。
clsetup 实用程序将显示它要创建的 Oracle Solaris Cluster 资源的属性。
clsetup 实用程序会提示您输入 SID。
clsetup 实用程序将显示它要创建的 Oracle Solaris Cluster 资源的属性。
clsetup 实用程序将显示它要创建的 Oracle Solaris Cluster 资源的属性。
clsetup 实用程序将显示一个屏幕,在这个屏幕中您可以指定新名称。
clsetup 实用程序将返回到其要创建的 Oracle Solaris Cluster 资源的属性列表。
clsetup 实用程序将显示现有存储资源的列表。如果没有可用存储资源,clsetup 实用程序会显示用于存储数据的共享存储类型列表。
clsetup 实用程序会显示在群集中配置的文件系统挂载点。
clsetup 实用程序会显示在群集中配置的全局磁盘集和设备组。
clsetup 实用程序会返回高可用性存储资源列表。
clsetup 实用程序会显示群集中的所有现有逻辑主机名资源。如果没有可用的逻辑主机名资源,clsetup 实用程序会提示输入要设置资源高可用性的逻辑主机名。
clsetup 实用程序会返回可用的逻辑主机名资源列表。
clsetup 实用程序将显示该实用程序将创建的 Oracle Solaris Cluster 对象的名称。
clsetup 实用程序将显示一个屏幕,在这个屏幕中您可以指定新名称。
clsetup 实用程序将返回其将创建的 Oracle Solaris Cluster 对象的名称列表。
clsetup 实用程序将显示进度消息,指示该实用程序正在运行命令来创建配置。完成配置后,clsetup 实用程序将显示其创建配置所运行的命令。
如果您愿意,可以在执行其他所需任务时保持 clsetup 实用程序处于运行状态,以便稍后再次使用该实用程序。
此过程提供了 Oracle Solaris Cluster 维护命令的长格式。此外,大多数命令还有短形式。这些命令除了格式不同以外,其功能都是相同的。
开始之前
确保满足以下先决条件:
如果使用卷管理器,则群集的卷管理器配置为在共享存储中提供卷,该共享存储可从可能运行 Oracle 数据库软件的任何节点进行访问。
如果使用卷管理器,则在 Oracle 数据库软件将用于其数据库的存储卷上创建原始设备和文件系统。
Oracle 数据库软件在安装后可从可能运行 Oracle 的所有节点或区域进行访问。
为 Oracle 数据库软件配置 UNIX 操作系统的内核变量。
已为可能可运行 Oracle 数据库软件的所有节点或区域配置 Oracle 数据库软件。
已安装数据服务软件包。
确保您具有以下信息:
控制数据服务的群集节点或区域的名称。
客户机用于访问数据服务的逻辑主机名。通常在安装群集时设置该 IP 地址。有关网络资源的详细信息,请参见《Oracle Solaris Cluster Concepts Guide》。
您计划配置的资源的 Oracle 数据库应用程序二进制文件路径。
数据库类型。
对于 HA for Oracle,可注册 SUNW.oracle_server 和 SUNW.oracle_listener 两种资源类型,如下所示。
注 - 对于 Oracle Database 版本 11g R2 或 12c,如果您使用的是 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (Single Client Access Name, SCAN) 侦听器,请忽略 SUNW.oracle_listener 资源类型的注册。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener
如果使用 Solaris ZFS,则不必执行这一步,因为在如何准备节点中配置高可用性本地 ZFS 时创建了该资源组。此过程中其他步骤创建的资源将添加到此资源组。
或者,您也可以通过 -n 选项选择可运行数据服务的一组节点或区域,如下所示。
# clresourcegroup create [-n node-zone-list] resource-group
指定可以控制此资源组的区域的逗号分隔排序列表。列表中每个条目的格式为 node:zone。在此格式中,node 指定节点的名称或 ID,zone 指定非全局 Solaris 区域的名称。要指定全局区域或指定一个不含非全局区域的节点,请仅指定 node。
该列表的顺序决定了故障转移期间判断主节点或主区域的顺序。此列表是可选的。如果省略该列表,则每个群集节点的全局区域可以控制此资源组。
指定资源组的名称。您可以随意指定此名称,但该名称对群集内的资源组必须唯一。
应已在 Oracle Solaris Cluster 安装过程中执行此验证。
注 - 确保所有网络资源均存在于服务器和客户机的 /etc/inet/hosts 文件中,以避免由于名称服务查找而导致任何故障。
# clreslogicalhostname create -g resource-group [-h logical-hostname] logical-hostname-rs
指定逻辑主机名。该逻辑主机名必须存在于名称服务数据库中。如果 logical-hostname 和 logical-hostname-rs 相同,则 logical-hostname 是可选的。
指定分配给要创建的逻辑主机名资源的名称。
# clresourcetype register SUNW.HAStoragePlus
注意 - 在非全局区域中,不支持 Oracle Solaris Cluster 设备组中的原始设备。 |
注 - 如果要在非全局区域中支持 HAStoragePlus 资源类型,其版本必须最低为 4。
# 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,并且本地文件系统必须驻留在全局磁盘组中才能进行故障转移。
资源在启用状态下创建。
# clresourcegroup online -M resource-group
将联机的资源组置于受管理状态。
Oracle server resource: # clresource create -g resourcegroup \ -t SUNW.oracle_server \ -p Alert_log_file=path-to-log \ -p Connect_string=user/passwd \ -p ORACLE_SID=instance \ -p ORACLE_HOME=Oracle_home \ -p Restart_type=entity-to-restart \ [-p Dataguard_role=role] \ [-p Standby_mode=mode] \ -p Resource_dependencies_offline_restart=storageplus-resource \ resource Oracle listener resource: # 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
指定要在其中放置资源的资源组的名称。
指定要添加的资源的类型。
为服务器消息日志设置 $ORACLE_HOME 下的路径。
指定故障监视器连接到数据库所用的用户和密码。这些设置必须与您在如何设置 Oracle 数据库权限中设置的权限保持一致。如果使用 Oracle Solaris 授权,请键入斜线 (/),而不是用户名和密码。
设置 Oracle 数据库系统标识符。
设置 Oracle 数据库侦听器实例的名称。此名称必须与 listener.ora 中的对应项匹配。
设置 Oracle 数据库主目录的路径。
指定对故障的响应为重新启动时,服务器故障监视器重新启动的实体。按如下所述设置 entity-to-restart:
要指定仅重新启动此资源,将 entity-to-restart 设置为 RESOURCE_RESTART。默认情况下,仅重新启动此资源。
要指定重新启动包含此资源的资源组中的所有资源,将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART。
如果将 entity-to-restart 设置为 RESOURCE_GROUP_RESTART,资源组中的所有其他资源(如 Apache 或 DNS)都将重新启动,即使它们没有发生故障也是如此。因此,仅在资源组中包括您需要在 Oracle 数据库服务器资源重新启动时重新启动的资源。
指定数据库实例的角色。按如下所述更改 role:
要为未配置备用实例的主数据库实例创建资源,将 role 更改为 NONE。此值为默认值。
要为已配置备用数据库实例的主数据库实例创建资源,请将 role 更改为 PRIMARY。
要为备用数据库实例创建资源,将 role 更改为 STANDBY。
指定备用数据库实例的模式。如果将 Dataguard_role 更改为 NONE 或 PRIMARY,Standby_mode 的值将被忽略。
要指定逻辑备用数据库,将 mode 更改为 LOGICAL。此值为默认值。
要指定物理备用数据库,请将 mode 更改为 PHYSICAL。
从 Oracle Database 11g 开始,要指定快照备用数据库,需要将 mode 更改为 SNAPSHOT。
指定要创建的资源的名称。
即已创建处于启用状态的资源。
示例 1-1 注册 HA for Oracle 以在全局区域中运行
以下示例说明如何在双节点群集上注册 HA for Oracle 11g。
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 Database Resources: oracle-server-1, oracle-listener-1 Oracle Database 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 Database resource types # clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener Add the Oracle Database application resources to the resource group # clresource create -g resource-group-1 \ -t SUNW.oracle_server \ -p Alert_log_file=/global/oracle/message-log \ -p Connect_string=scott/tiger \ -p ORACLE_HOME=/global/oracle \ -p ORACLE_SID=ora-srvr \ -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 11g。非全局区域根位于未配置有 HA for Solaris Containers 数据服务的本地文件系统和区域中。
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 Database Resources: oracle-server-1, oracle-listener-1 Oracle Database 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 Database 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
示例 1-3 注册要在区域群集中运行的 HA for Oracle
以下示例说明如何在区域群集中注册 HA for Oracle 11g R1。
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 Database Resources: oracle-server-1, oracle-listener-1 Oracle Database 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 Database resource types # clresourcetype register -Z zonecluster1 SUNW.oracle_server # clresourcetype register -Z zonecluster1 SUNW.oracle_listener Add the Oracle Database application resources to the resource group # clresource create -Z zonecluster1 \ -g resource-group-1 \ -t SUNW.oracle_server \ -p Alert_log_file=/global/oracle/message-log \ -p Connect_string=scott/tiger \ -p ORACLE_HOME=/global/oracle \ -p ORACLE_SID=ora-srvr \ -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 11g R2 或 12c 不支持单实例 Oracle ASM。对于这些发行版,只能使用群集 Oracle ASM。
此过程介绍了使用 Oracle Solaris Cluster 维护命令注册和配置单实例 Oracle ASM 需要执行的步骤。Oracle ASM 的 Oracle_Home 仅位于本地文件系统上。
注 - Oracle ASM 磁盘组和 Oracle 数据库可以配置在不同的资源组中。如果 Oracle ASM 磁盘组和 Oracle 数据库配置在不同的资源组中,则应在 Oracle ASM 磁盘组资源组和 Oracle 数据库资源组之间设置一个正向强关联 (+++)。
开始之前
确保用于独立服务器的 Oracle Grid Infrastructure 软件安装在 Oracle Solaris Cluster 节点上。
确保为 Oracle ASM 实例和数据库实例配置用于独立服务器的 Oracle Grid Infrastructure 资源。
确保在每个节点上的本地文件系统上配置用于 Oracle ASM 的 Oracle 数据库主目录。有关更多信息,请参见准备节点和磁盘。
# clresourcetype register SUNW.scalable_asm_instance
# clresourcetype register SUNW.asm_diskgroup
# clresourcetype register SUNW.HAStoragePlus
# clresourcegroup create -S asm-inst-rg
指定 Oracle ASM 实例的可伸缩资源组的名称。
# clresource create -g asm-inst-rg \ -t SUNW.scalable_asm_instance \ -p ORACLE_HOME=Oracle_home \ -d asm-inst-rs
指定 Oracle ASM 实例的资源组的名称。
设置 Oracle ASM 主目录的路径。
注 - 只能将本地文件系统用作 Oracle ASM 主目录。
指定要创建的 Oracle ASM 实例资源的名称。
# clresourcegroup online -eM asm-inst-rg
# clresourcegroup create asm-dg-rg
# clreslogicalhostname create -g asm-dg-rg [-h logical-hostname] \ logical-hostname-rs
指定逻辑主机名。该逻辑主机名必须存在于名称服务数据库中。如果 logical-hostname 和 logical-hostname-rs 相同,则 logical-hostname 是可选的。
指定分配给要创建的逻辑主机名资源的名称。
# clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg
# clresource create -g asm-dg-rg -t SUNW.HAStoragePlus \ -p globaldevicepaths=path1,path2 hasp-asm-rs
# 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 \ -p Resource_dependencies_offline_restart=hasp-asm-rs \ -d asm-dg-rs
指定要添加的资源的类型。
指定 ASM 磁盘组。
指定 Oracle ASM 存储资源的名称。
指定 HAStoragePlus 资源的名称。
指定要创建的资源的名称。
# clresourcegroup online -eM asm-dg-rg
# clresource status +
对于 HA for Oracle,可注册 SUNW.oracle_server 和 SUNW.oracle_listener 资源类型,如下所示。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener
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 \ -d ora-lsr-rs
指定要放置资源的 Oracle ASM 磁盘资源组的名称。
指定要添加的资源的类型 SUNW.oracle_server 或 SUNW.oracle_listener。
为服务器消息日志设置 $ORACLE_HOME 下的路径。
指定故障监视器连接到数据库所用的用户和密码。这些设置必须与您在如何设置 Oracle 数据库权限中设置的权限保持一致。如果使用 Solaris 授权,请键入斜线 (/),而不是用户名和密码。
设置 Oracle 系统标识符。
设置 Oracle 数据库侦听器实例的名称。此名称必须与 listener.ora 中的对应项匹配。
设置 Oracle 数据库主目录的路径。
# clresource enable ora-db-rs
此过程介绍了使用 Oracle Solaris Cluster 维护命令注册和配置带有群集 Oracle ASM 实例的 HA for Oracle 需要执行的步骤。
仅限 Oracle Database 11g R2 和 12c,可以选择使用第三方卷管理器向群集 Oracle ASM 磁盘组提供候选磁盘。对于这种类型的配置,此过程手动创建充当 Oracle Solaris Cluster SUNW.ScalDeviceGroup 资源代理的 Oracle Grid Infrastructure (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_proxy 和 SUNW.ScalDeviceGroup 资源之间设置脱机重新启动依赖性。
开始之前
如果要使用卷管理器,则配置供群集 Oracle ASM 使用的磁盘集或磁盘组。
如果使用的是 Solaris Volume Manager for Sun Cluster,请创建多属主磁盘集。请遵循《适用于 Oracle Real Application Clusters 的 Oracle Solaris Cluster 数据服务指南》中的"如何在 Solaris Volume Manager for Sun Cluster 中为 Oracle RAC 数据库创建多属主磁盘集"中的说明。
如果要使用具有群集功能的 Veritas Volume Manager,应创建一个共享磁盘组。请遵循《适用于 Oracle Real Application Clusters 的 Oracle Solaris Cluster 数据服务指南》中的"如何为 Oracle RAC 数据库创建 VxVM 共享磁盘组"中的过程。
确保已安装了 Oracle Clusterware 软件。
确保为 Oracle ASM 实例和数据库实例配置了 Oracle Clusterware 资源。
确保设置了用于 Oracle_Home 的文件系统。有关说明,请参见准备节点和磁盘。
可以从以下任何项中派生 Oracle ASM 候选磁盘:
Solaris Volume Manager 磁盘集
Veritas Volume Manager 磁盘组
NFS
# /Grid_home/bin/crsctl add type sun.storage_proxy.type -basetype cluster_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'"
SUNW.ScalDeviceGroup 资源名称。
指定 sun.storage_proxy.type 资源类型。
指定 /opt/SUNWscor/dsconfig/bin/scproxy_crs_action 操作脚本。
指定包含 SUNW.ScalDeviceGroup 资源的 Oracle Solaris Cluster 资源组节点列表项。
设置在 HOSTING_MEMBERS 中定义的主机的数量。
设置为 restricted。
将所有者设置为 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 是组条目。
设置为 20。
设置为 60。
输出内容将类似如下:
# /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 #
# /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 --
请注意,该命令包含加号 (+):
# clresource set -p Resource_dependencies_offline_restart+=scal-asmdg1-rs asm-data1-rs
(仅限 Oracle ASM 设备组)为指定的 Oracle ASM 存储资源设置脱机重新启动依赖性。
指定要修改的资源的名称。
# 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
指定要放置资源的 Oracle ASM 设备组的名称。
指定要添加的资源的类型。
设置 Oracle ASM 磁盘组的名称。
指定禁用您创建的资源。
# /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 --
# clresourcetype register SUNW.crs_framework
# clresource create -g rac-fmwk-rg -t SUNW.crs_framework \ -p Resource_dependencies=rac-fmwk-rs \ -d crs-fmwk-rs
# clresourcegroup create ora-db-rg
注 - 仅当在执行 Oracle ASM 软件安装之前安装了 ORCLudlm 软件包时,才可以执行此步骤。
# clresourcetype register SUNW.rac_udlm
# clresource create -g rac-fmwk-rg -t SUNW.rac_udlm \ -p Resource_dependencies=rac-fmwk-rs rac-udlm-rs
指定要在其中放置资源的资源组的名称。
# clresourcetype register SUNW.scalable_asm_instance_proxy
# clresourcetype register SUNW.asm_diskgroup
# clresourcetype register SUNW.scalable_asm_diskgroup_proxy
# clresourcegroup create -S asm-inst-rg asm-dg-rg
# clresourcegroup set -p rg_affinities=++rac-fmwk-rg asm-inst-rg
# clresourcegroup set -p rg_affinities=++asm-inst-rg asm-dg-rg
# clresource create -g rac-fmwk-rg -t SUNW.crs_framework \ -p Resource_dependencies=rac-fmwk-rs \ -d crs-fmwk-rs
将 SUNW.HAStoragePlus 和 SUNW.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
指定群集文件系统的名称。
指定要创建的 SUNW.HAStoragePlus 资源的名称。
设置 Oracle 数据库系统标识符。
设置 Oracle 数据库主目录的路径。
设置用于群集的 Oracle Grid Infrastructure 主目录的路径。
# 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
# 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
指定 Oracle ASM 磁盘组。
指定 Oracle ASM 存储资源的名称。
# 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
# clresourcegroup online -eM asm-inst-rg
# clresourcegroup online -eM asm-dg-rg
# clresource status +
可注册 SUNW.oracle_server 和 SUNW.oracle_listener 两种资源类型。
注 - 对于 Oracle Database 版本 11g R2 或 12c,如果您使用的是 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (Single Client Access Name, SCAN) 侦听器,请忽略 SUNW.oracle_listener 资源类型的注册。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener
# clreslogicalhostname create -g ora-db-rg [-h logical-hostname] logical-hostname-rs
指定逻辑主机名。该逻辑主机名必须存在于名称服务数据库中。如果 logical-hostname 和 logical-hostname-rs 相同,则 logical-hostname 是可选的。
指定分配给要创建的逻辑主机名资源的名称。
# clresourcegroup online -eM ora-db-rg
注 - 对于 Oracle Database 版本 11g R2 或 12c,如果使用的是 Oracle Grid Infrastructure for Clusters 单客户机访问名称 (Single Client Access Name, SCAN) 侦听器,请忽略 SUNW.oracle_listener 资源的配置。
仅限 Oracle Database 10g 和 11g R1,使用以下命令:
Create the Oracle Database server resource # 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 Create the Oracle Database listener resource # 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
仅限 Oracle Database 11g R2 和 12c,使用以下命令:
Create the Oracle server resource # clresource create -g ora-db-rg \ -t SUNW.oracle_server \ -p ORACLE_SID=instance \ -p ORACLE_HOME=Oracle_home \ -p Db_unique_name=db-unique-name -p Resource_dependencies_offline_restart=asm-dg-rs \ -d ora-db-rs
(仅限 Oracle Database 10g 和 11g R1)为服务器消息日志设置 $ORACLE_HOME 下的路径。
(仅限 Oracle Database 10g 和 11g R1)指定故障监视器连接到数据库所用的用户和密码。这些设置必须与您在如何设置 Oracle 数据库权限中设置的权限保持一致。如果使用 Solaris 授权,请键入斜线 (/),而不是用户名和密码。
(仅限 Oracle Database 11g R2 和 12c,如果使用 SCAN 侦听器)设置 Oracle 数据库唯一名称。
设置 Oracle 数据库侦听器实例的名称。此名称必须与 listener.ora 中的对应项匹配。
指定要创建的资源的名称。
# clresource enable ora-db-rs
# clresource enable ora-ls-rs
接下来的步骤
注册和配置 Solaris Cluster HA for Oracle 后,请转至检验 HA for Oracle 安装。