此过程提供了 Oracle Solaris Cluster 维护命令的长格式。此外,大多数命令还有短形式。这些命令除了格式不同以外,其功能都是相同的。
开始之前
确保满足以下先决条件:
/etc/netmasks 文件具有所有逻辑主机名对应的 IP 地址子网和网络掩码条目。如有必要,编辑 /etc/netmasks 文件以添加缺少的任何条目。
如果使用卷管理器,则群集的卷管理器配置为在共享存储中提供卷,该共享存储可从可能运行 Oracle 数据库软件的任何 Oracle Solaris Cluster 节点进行访问。
如果使用卷管理器,则在 Oracle 数据库软件将用于其数据库的存储卷上创建原始设备和文件系统。
Oracle 数据库软件安装为可从可能运行 Oracle 数据库的所有群集节点进行访问。
为 Oracle 数据库配置 UNIX 操作系统的内核变量。
为可能运行 Oracle 数据库的所有群集节点配置 Oracle 数据库软件。
已安装数据服务软件包。
确保您具有以下信息:
控制数据服务的群集节点的名称。
客户机用于访问数据服务的逻辑主机名。通常在安装群集时设置该 IP 地址。有关网络资源的详细信息,请参见Oracle Solaris Cluster Concepts Guide 。
您计划配置的资源的 Oracle 数据库应用程序二进制文件路径。
数据库类型。
对于 HA for Oracle Database,可注册 SUNW.oracle_server 和 SUNW.oracle_listener 两种资源类型,如下所示。
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener
如果您使用 Oracle Solaris ZFS 文件系统,则不需要执行此步骤,因为在如何准备 Oracle Solaris Cluster 节点中配置高可用性本地 ZFS 文件系统时创建了资源组。此过程中其他步骤创建的资源将添加到此资源组。
或者,您可以通过 –n 选项选择可在其上运行数据服务的一组群集节点,如下所示。
# clresourcegroup create [-n node-zone-list] resource-group
指定资源组的名称。您可以随意指定此名称,但该名称对群集内的资源组必须唯一。
应已在 Oracle Solaris Cluster 安装过程中执行此验证。
# clreslogicalhostname create -g resource-group [-h logical-hostname] logical-hostname-rs
指定逻辑主机名。该逻辑主机名必须存在于名称服务数据库中。如果 logical-hostname 和 logical-hostname-rs 相同,则 logical-hostname 是可选的。
指定分配给要创建的逻辑主机名资源的名称。
# clresourcetype register SUNW.HAStoragePlus
# 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 扩展属性设置为全局设备路径。
如果数据库位于群集文件系统上,则指定群集文件系统和本地文件系统的挂载点。
资源在启用状态下创建。
# clresourcegroup online -M resource-group
将联机的资源组置于受管理状态。
Oracle 数据库服务器资源:
# 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 数据库侦听器资源:
# 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 数据库主目录的路径。
设置 Oracle 数据库侦听器实例的名称。此名称必须与 listener.ora 中的对应项匹配。
指定对故障的响应为重新启动时,服务器故障监视器重新启动的实体。按如下所述设置 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。
要指定快照备用数据库,请将 mode 更改为 SNAPSHOT。
指定要创建的资源的名称。
即已创建处于启用状态的资源。
本示例显示如何在双节点群集上注册 HA for Oracle Database。下列为命令中使用的样例名称:
phys-schost-1、phys-schost-2
schost-1
resource-group-1(故障转移资源组)
hastp-rs
oracle-server-1、oracle-listener-1
ora-lsnr(侦听器),ora-srvr(服务器)
示例 1-2 注册要在区域群集中运行的 HA for Oracle DatabaseCreate the failover resource group to contain all of the resources . # clresourcegroup create resource-group-1Add the logical hostname resource to the resource group . # clreslogicalhostname create -g resource-group-1 schost-1Register the SUNW.HAStoragePlus resource type. # clresourcetype register SUNW.HAStoragePlusAdd 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-rsBring the resource group online in a managed state # clresourcegroup online -M resource-group-1Register the Oracle 数据库 resource types. # clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listenerAdd the Oracle 数据库 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
本示例说明了如何在区域群集中注册 HA for Oracle Database。下列为从全局群集发出的命令中使用的样例名称:
phys-schost-1、phys-schost-2
zonecluster1、zonecluster2
zchost-1
resource-group-1(故障转移资源组)
hastp-rs
oracle-server-1、oracle-listener-1
ora-lsnr(侦听器),ora-srvr(服务器)
Create the failover resource group to contain all of the resources .) # clresourcegroup create -Z zonecluster1 resource-group-1Add the logical hostname resource to the resource group .) # clreslogicalhostname create -Z zonecluster1 -g resource-group-1 zchost-1Register the SUNW.HAStoragePlus resource type. ) # clresourcetype register -Z zonecluster1 SUNW.HAStoragePlusAdd 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-rsBring the resource group online in a managed state # clresourcegroup online -Z zonecluster1 -M resource-group-1Register the Oracle Database resource types. ) # clresourcetype register -Z zonecluster1 SUNW.oracle_server # clresourcetype register -Z zonecluster1 SUNW.oracle_listenerAdd 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