本章说明了在 Sun Cluster 节点上安装 Sun Cluster Support for Oracle Real Application Clusters 的步骤。本章包含以下过程。
如何安装 Sun Cluster Support for Oracle Real Application Clusters 软件包
如何在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集
下表概括介绍了安装任务并提供了有关执行这些任务的详细说明的交叉引用。
请按表中列出的顺序来执行这些任务。
表 1–1 安装 Sun Cluster Support for Oracle Real Application Clusters 所需执行的任务
任务 |
参考 |
---|---|
了解安装前的注意事项和特殊要求 | |
安装存储管理软件 |
在 Sun Cluster Support for Oracle Real Application Clusters 中安装存储管理软件 |
创建 Sun Cluster Support for Oracle Real Application Clusters 软件所需的特定于节点的文件和目录 | |
安装数据服务软件包 |
安装 Sun Cluster Support for Oracle Real Application Clusters 软件包 |
准备 Sun Cluster 节点 | |
安装 UNIX Distributed Lock Manager | |
在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集 |
在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集 |
为 Oracle Real Application Clusters 数据库创建 VxVM 共享磁盘集 |
Oracle Real Application Clusters 是一个可伸缩应用程序,可以同时在多个节点上运行。Sun Cluster Support for Oracle Real Application Clusters 是一组软件包,安装之后可以使 Oracle Real Application Clusters 在 Sun Cluster 节点上运行。此数据服务还使得可以使用 Sun Cluster 命令管理 Oracle Real Application Clusters。
在 Oracle 的早期版本中,此可伸缩应用程序称为 “Oracle Parallel Server”。除非本书另外明确说明,否则本书中对 “Oracle Real Application Clusters” 的引用也适用于 Oracle Parallel Server。
此数据服务仅提供故障监视,以便使 Oracle Real Application Clusters 资源的状态可以通过 Sun Cluster 实用程序来监视。此数据服务不提供自动故障恢复,因为 Oracle Real Application Clusters 软件提供了类似的功能。
Sun Cluster Support for Oracle Real Application Clusters 需要一个正常运行的群集,并且已安装初始群集框架。有关群集软件的初始安装的详细信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》。
您必须将 Oracle Real Application Clusters 配置为使用 Sun Cluster 软件的共享磁盘体系结构。在此配置中,可同时访问数据库的 Oracle Real Application Clusters 软件的多个实例共享一个数据库。UNIX Distributed Lock Manager (Oracle UDLM) 可控制对群集节点之间的共享资源的访问。
为了满足这些要求,请使用下列存储管理方案之一:
Solaris Volume Manager for Sun Cluster
Oracle Real Application Clusters 仅支持 Solaris Volume Manager for Sun Cluster。不支持具有 Oracle Parallel Server 的 Solaris Volume Manager for Sun Cluster。
具有群集功能的 VERITAS Volume Manager (VxVM)
硬件独立磁盘冗余阵列 (RAID) 支持
具有硬件 RAID 支持的 Sun StorEdgeTM QFS 共享文件系统
请检验您已获得并安装了适当的软件许可证。如果许可证安装不正确或不完整,节点可能无法正确引导。
例如,如果您使用具有群集功能的 VxVM,请通过运行以下命令之一来检验是否已为卷管理器群集功能安装了有效的许可证:
请咨询 Sun 企业服务代表以了解 Sun Cluster Support for Oracle Real Application Clusters 当前支持的拓扑、群集互连、存储管理方案和硬件配置。
确保您已为 Solaris 操作系统、Sun Cluster、Oracle 和卷管理器安装了所有适用的软件修补程序。如果需要安装任何 Sun Cluster Support for Oracle Real Application Clusters 修补程序,您必须在安装数据服务软件包之后应用这些修补程序。
您可以在以下位置之一安装 Oracle 二进制文件和 Oracle 配置文件。
将 Oracle 二进制文件和 Oracle 配置文件置于各个群集节点上,这样以后在升级 Oracle 应用程序时便无需关闭数据服务了。
缺点是要维护和管理多份 Oracle 应用程序二进制文件和 Oracle 配置文件。
为了简化 Oracle 安装的维护,您可以在共享文件系统上安装 Oracle 二进制文件和 Oracle 配置文件。支持以下共享文件系统:
如果将 Oracle 二进制文件和 Oracle 配置文件置于共享文件系统中,则只需维护和管理一个拷贝。但是,您必须关闭整个群集中的数据服务才能升级 Oracle 应用程序。如果可以接受由于升级而造成的少量停机时间,则可以将一份 Oracle 二进制文件和 Oracle 配置文件置于共享文件系统中。
您可以在 Sun StorEdge QFS 共享文件系统中存储与 Oracle Real Application Clusters 关联的所有文件。
在多个文件系统之间分布这些文件,如下所示:
在群集中创建一个文件系统来存储这些文件:
Oracle 二进制文件
Oracle 配置文件(例如,init.ora、tnsnames.ora、listener.ora 和 sqlnet.ora)
警报文件(例如,alert_sid.log)
跟踪文件 (*.trc)
为每个数据库创建一个文件系统,以便为数据库的所有 Oracle Real Application Clusters 实例存储这些文件:
数据文件
控制文件
联机重做日志文件
归档重做日志文件
有关如何创建 Sun StorEdge QFS 共享文件系统的信息,请参见 Sun StorEdge QFS 的以下文档:
Sun StorEdge QFS and Sun StorEdge SAM-FS Software Installation and Configuration Guide
Sun StorEdge QFS and Sun StorEdge SAM-FS File System Administration Guide
您只能在群集文件系统中存储与 Oracle Real Application Clusters 关联的以下文件:
Oracle 二进制文件
Oracle 配置文件(例如,init.ora、tnsnames.ora、listener.ora 和 sqlnet.ora)
归档重做日志文件
警报文件(例如,alert_sid.log)
跟踪文件 (*.trc)
不能在群集文件系统中存储数据文件、控制文件或联机重做日志文件。
写入归档重做日志文件时的输入/输出 (I/O) 性能受用于归档重做日志文件的设备组的位置的影响。为了获得最佳性能,请确保归档重做日志文件的主设备组位于与 Oracle Real Application Clusters 数据库实例相同的节点上。此设备组包含用于存放数据库实例归档重做日志文件的文件系统。
有关如何创建群集文件系统的信息,请参见:
请使用以下小节中的问题来规划 Sun Cluster Support for Oracle Real Application Clusters 的安装和配置。在《Sun Cluster 3.1 数据服务规划和管理指南》的“配置工作表”中的数据服务工作表的相应位置写下对这些问题的回答。
您要为 Oracle Real Application Clusters (RAC) 服务器资源使用哪些资源组?
每个 Oracle Real Application Clusters 数据库实例均需要一个资源组。每个资源组均包含数据库实例的 Oracle RAC 服务器资源。
执行注册和配置 Oracle RAC 服务器资源中的过程时,请使用此问题的答案中指定的资源组。
您要为 Oracle 侦听器资源使用哪些资源组?
执行注册和配置 Oracle 侦听器资源中的过程时,请使用此问题的答案中指定的资源组。
这些资源组取决于您对 Real Application Clusters 数据库实例的 Oracle 侦听器的配置。有关 Real Application Clusters 实例的侦听器的可能配置的一般信息,请参见您的 Oracle 文档。以下各小节介绍了示例配置。
一个侦听器仅服务于一个 Real Application Clusters 实例。侦听器在节点的固定 Internet 协议 (IP) 地址进行侦听。该侦听器不能进行故障转移。
在这种情况下,请按如下所示来配置侦听器资源:
在同一资源组中配置侦听器资源和 RAC 服务器资源。
确保该资源组仅在一个节点上受控制。
一个侦听器服务于同一节点上的多个 Real Application Clusters 实例。侦听器使用 Oracle 的透明应用程序故障转移 (TAF) 和负载平衡在所有 Real Application Clusters 实例之间分布客户机连接。该侦听器不能进行故障转移。
在这种情况下,请按照以下说明来配置侦听器资源:
在侦听器资源自身的资源组中配置侦听器资源。
确保侦听器的资源组仅在一个节点上受控制。
创建侦听器的资源组和 RAC 服务器的资源组之间的依赖性。
一个可以进行故障转移的侦听器服务于同一节点上的多个 Real Application Clusters 实例。当侦听器向其他节点进行故障转移后,侦听器将服务于其他节点上的多个 Real Application Clusters 实例。
侦听器使用 Oracle 的 TAF 和负载平衡在所有 Real Application Clusters 实例之间分布客户机连接。为了确保错误检测迅速并且故障转移时间较短,侦听器在由 LogicalHostname 资源表示的地址进行侦听。
在这种情况下,请按照以下说明来配置侦听器资源:
在同一资源组中配置侦听器资源和 LogicalHostname 资源。
确保此资源组在正在运行 Oracle Real Application Clusters 的节点上受控制。
有关更多信息,请参见Oracle 侦听器资源的 LogicalHostname 资源。
一个侦听器服务于所有节点上的所有 Real Application Clusters 实例。侦听器在由 LogicalHostname 资源表示的地址进行侦听。此配置确保了当某个节点出现故障后,可以迅速在其他节点上找到地址。
如果将 Real Application Clusters 实例配置为使用多线程服务器 (MTS),则可以使用此配置。在此配置中,init.ora 文件中的 REMOTE_LISTENERS 参数指定每个分发程序向一个逻辑 IP 地址上的侦听器进行注册。
所有客户机通过一个侦听器进行连接。侦听器将每个客户机连接重定向到最空闲的分发程序。最空闲的分发程序与侦听器可能位于不同的节点。
如果侦听器出现故障,侦听器的故障监视器将重新启动侦听器。如果正在运行侦听器的节点出现故障,将在其他节点上重新启动侦听器。在这两种情况下,重新启动侦听器之后,分发程序都将重新进行注册。
如果为整个群集使用一个侦听器,请在同一资源组中配置以下资源:
侦听器资源
LogicalHostname 资源
有关更多信息,请参见Oracle 侦听器资源的 LogicalHostname 资源。
Oracle 侦听器资源要使用哪些 LogicalHostname 资源?
执行注册和配置 Oracle 侦听器资源中的过程时,请使用对此问题所作回答中指定的资源组。
如果正在运行 Oracle Real Application Clusters 实例的群集节点出现故障,则客户机应用程序尝试的操作可能必须在超时之后才能在另一实例上再次进行尝试。如果传输控制协议/网际协议 (TCP/IP) 的网络超时值很高,客户机应用程序可能需要相当长的时间来检测故障。通常,客户机应用程序需要三到九分钟的时间来检测此类故障。
在这种情况下,客户机应用程序可以连接到正在由 Sun Cluster LogicalHostname 资源表示的地址进行侦听的侦听器资源。在单独的资源组中配置 LogicalHostname 资源和侦听器资源。请确保此资源组在正运行 Oracle Real Application Clusters 的节点上受到主控。如果某个节点出现故障,则包含 LogicalHostname 资源和侦听器资源的资源组将故障转移到正在运行 Oracle Real Application Clusters 的其他未出现故障的节点。LogicalHostname 资源的故障转移使新连接可以被定向到 Oracle Real Application Clusters 的其他实例。
如果您使用 Sun StorEdge QFS 共享文件系统,请回答以下问题:
有关更多信息,请参见 Sun StorEdge QFS 的以下文档:
Sun StorEdge QFS and Sun StorEdge SAM-FS Software Installation and Configuration Guide
Sun StorEdge QFS and Sun StorEdge SAM-FS File System Administration Guide
执行注册和配置 Oracle RAC 服务器资源中的过程时,请使用这些问题的答案中指定的资源和资源组。
有关使用本地文件系统(而非群集文件系统)的优点和缺点的信息,请参见Oracle 二进制文件和 Oracle 配置文件的位置。
本节列出了 Sun Cluster Support for Oracle Real Application Clusters 的特殊要求。
确定 Oracle UDLM 和 Oracle 关系数据库管理系统 (RDBMS) 要使用的体系结构之前,请注意以下要点。
两个 Oracle 组件的体系结构必须匹配。例如,如果 Oracle UDLM 为 64 位体系结构,RDBMS 也必须为 64 位体系结构。
如果 Oracle 组件为 32 位体系结构,您可以引导组件以 32 位模式或 64 位模式驻留在其中的节点。但是,如果 Oracle 组件为 64 位体系结构,则必须引导组件以 64 位模式驻留在其中的节点。
引导所有节点时,必须使用相同的体系结构。例如,如果引导一个节点以使用 32 位体系结构,则必须引导所有节点以使用 32 位体系结构。
以下列表显示了数据服务日志文件的位置。
当前日志:/var/cluster/ucmm/ucmm_reconf.log
以前的日志:/var/cluster/ucmm/ucmm_reconf.log.0(0、 1...)– 此位置取决于 Oracle UDLM 软件包。
Oracle UDLM 日志:/var/cluster/ucmm/dlm_ nodename/logs – 如果在此位置找不到 Oracle 日志文件,请与 Oracle 支持联系。
Oracle UDLM 核心文件:/var/cluster/ucmm/dlm_ nodename/cores – 如果在此位置找不到 Oracle 日志文件,请与 Oracle 支持联系。
在此数据服务的安装过程中,只有在您已安装和配置 Oracle UDLM 软件并且满足执行此任务的先决条件之后,才能重新引导节点。否则,节点将出现紧急情况。
有关如何从安装过程中的节点紧急情况恢复的信息,请参见初始化 Sun Cluster Support for Oracle Real Application Clusters 期间节点出现紧急情况。
有关 Oracle Real Application Clusters Guard 选项的安装、管理和运行的信息,请参见 Oracle 文档。如果要将此产品选项与 Sun Cluster 3.1 一起使用,请在安装 Sun Cluster 3.1 之前注意以下小节中的要点。
如果要将 Oracle Real Application Clusters Guard 选项与 Sun Cluster 3.1 一起使用,则以下限制适用于在群集中使用的主机名:
主机名不能包含特殊字符。
安装 Sun Cluster 3.1 之后,不能更改主机名。
有关这些限制和其他所有要求的详细信息,请参见 Oracle 文档。
如果要将 Oracle Real Application Clusters Guard 选项与 Sun Cluster 3.1 一起使用,请不要使用 Sun Cluster 命令执行以下操作:
控制 Oracle Real Application Clusters Guard 安装的资源的状态。将 Sun Cluster 命令用于此目的可能会导致故障。
查询 Oracle Real Application Clusters Guard 安装的资源的状态。此状态可能不反映实际的状态。要查看 Oracle Real Application Clusters Guard 的状态,请使用 Oracle 提供的命令。
为您用于 Oracle Real Application Clusters 数据库和 Oracle 软件的存储管理方案安装软件。
有关数据库的存储管理方案的信息,请参见Oracle Real Application Clusters 数据库的存储管理要求。
有关 Oracle 软件的存储管理方案的信息,请参见Oracle 二进制文件和 Oracle 配置文件的位置。
要使用具有 Sun Cluster Support for Oracle Real Application Clusters 的 Solaris Volume Manager for Sun Cluster 软件,请执行以下任务。
确保您使用的是 Solaris 9 9/04 或兼容版本。
在安装 Solaris 操作系统过程中安装了 Solaris Volume Manager for Sun Cluster。
在群集节点上配置 Solaris Volume Manager for Sun Cluster 软件。
有关更多信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“安装和配置 Solstice DiskSuite 或 Solaris Volume Manager 软件”。
转到安装 Sun Cluster Support for Oracle Real Application Clusters 软件包以安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
要使用具有 Sun Cluster Support for Oracle Real Application Clusters 的 VxVM 软件,请执行以下任务。
如果要使用具有群集功能的 VxVM,除了获得基本的 VxVM 许可证之外,还要获得卷管理器群集功能的许可证。
有关 VxVM 许可要求的详细信息,请参见 VxVM 文档。
无法为卷管理器群集功能正确安装许可证,可能会在安装 Oracle Real Application Clusters 支持时导致紧急情况。安装 Oracle Real Application Clusters 软件包之前,请运行 vxlicense -p 或 vxlicrep 命令,以确保您已为卷管理器群集功能安装了有效的许可证。
在群集节点上安装和配置 VxVM 软件。
有关详细信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“安装和配置 VERITAS Volume Manager”和 VxVM 文档。
转到安装 Sun Cluster Support for Oracle Real Application Clusters 软件包以安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
您可以使用具有硬件 RAID 支持的 Sun Cluster Support for Oracle Real Application Clusters。
例如,您可以使用具有硬件 RAID 支持而不带有 VxVM 软件的 Sun StorEdgeTM A3500/A3500FC 磁盘阵列。要使用此组合,请配置磁盘阵列的逻辑单元号 (LUN) 顶部的原始设备标识 (/dev/did/rdsk*)。要在使用具有硬件 RAID 的 StorEdge A3500/A3500FC 磁盘阵列的群集上设置 Oracle Real Application Clusters 的原始设备,请执行以下步骤。
在磁盘阵列上创建 LUN。
有关如何创建 LUN 的信息,请参见 Sun Cluster 硬件文档。
创建 LUN 后,运行 format(1M) 命令将磁盘阵列的 LUN 分成所需数量的片。
下例列出了 format 命令的输出。
# format 0. c0t2d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248> /sbus@3,0/SUNW,fas@3,8800000/sd@2,0 1. c0t3d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248> /sbus@3,0/SUNW,fas@3,8800000/sd@3,0 2. c1t5d0 <Symbios-StorEDGEA3000-0301 cyl 21541 alt 2 hd 64 sec 64> /pseudo/rdnexus@1/rdriver@5,0 3. c1t5d1 <Symbios-StorEDGEA3000-0301 cyl 21541 alt 2 hd 64 sec 64> /pseudo/rdnexus@1/rdriver@5,1 4. c2t5d0 <Symbios-StorEDGEA3000-0301 cyl 21541 alt 2 hd 64 sec 64> /pseudo/rdnexus@2/rdriver@5,0 5. c2t5d1 <Symbios-StorEDGEA3000-0301 cyl 21541 alt 2 hd 64 sec 64> /pseudo/rdnexus@2/rdriver@5,1 6. c3t4d2 <Symbios-StorEDGEA3000-0301 cyl 21541 alt 2 hd 64 sec 64> /pseudo/rdnexus@3/rdriver@4,2 |
为防止磁盘分区信息丢失,请勿在用于原始数据的磁盘片的柱面 0 处开始分区。磁盘分区表存储在磁盘的柱面 0 处。
运行 scdidadm(1M) 命令以查找对应于您在步骤 1 中创建的 LUN 的原始设备标识 (DID)。
下例列出了 scdidadm -L 命令的输出。
# scdidadm -L 1 phys-schost-1:/dev/rdsk/c0t2d0 /dev/did/rdsk/d1 1 phys-schost-2:/dev/rdsk/c0t2d0 /dev/did/rdsk/d1 2 phys-schost-1:/dev/rdsk/c0t3d0 /dev/did/rdsk/d2 2 phys-schost-2:/dev/rdsk/c0t3d0 /dev/did/rdsk/d2 3 phys-schost-2:/dev/rdsk/c4t4d0 /dev/did/rdsk/d3 3 phys-schost-1:/dev/rdsk/c1t5d0 /dev/did/rdsk/d3 4 phys-schost-2:/dev/rdsk/c3t5d0 /dev/did/rdsk/d4 4 phys-schost-1:/dev/rdsk/c2t5d0 /dev/did/rdsk/d4 5 phys-schost-2:/dev/rdsk/c4t4d1 /dev/did/rdsk/d5 5 phys-schost-1:/dev/rdsk/c1t5d1 /dev/did/rdsk/d5 6 phys-schost-2:/dev/rdsk/c3t5d1 /dev/did/rdsk/d6 6 phys-schost-1:/dev/rdsk/c2t5d1 /dev/did/rdsk/d6 |
使用 scdidadm 输出标识的 DID 设置原始设备。
例如,scdidadm 输出可能标识对应于磁盘阵列的 LUN 的原始 DID 为 d4。在这种情况下,请使用 /dev/did/rdsk/d4sN 原始设备,其中 N 为片的编号。
转到安装 Sun Cluster Support for Oracle Real Application Clusters 软件包以安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
您必须使用具有硬件 RAID 支持的 Sun StorEdge QFS 共享文件系统。
有关安装、配置和使用 Sun StorEdge QFS 共享文件系统的详细说明,请参见 Sun StorEdge QFS and Sun StorEdge SAM-FS Software Installation and Configuration Guide 和 Sun StorEdge QFS and Sun StorEdge SAM-FS File System Administration Guide。
确保已安装 Sun StorEdge QFS 软件。
确保每个 Sun StorEdge QFS 共享文件系统均已正确配置为可以与 Sun Cluster Support for Oracle Real Application Clusters 结合使用。
确保已使用正确的选项安装每个 Sun StorEdge QFS 共享文件系统,使其可以与 Sun Cluster Support for Oracle Real Application Clusters 结合使用。
对于包含二进制文件、配置文件、警报文件和跟踪文件的文件系统,请使用缺省安装选项。
对于包含数据文件、控制文件、联机重做日志文件和归档重做日志文件的文件系统,请按如下所示来设置安装选项:
在 /etc/opt/SUNWsamfs/samfs.cmd 文件或 /etc/vfstab 文件中,设置以下选项:
stripe=width sync_meta=1 mh_write qwrite forcedirectio nstreams=1024 rdlease=300设置此值以获得最佳性能。 wrlease=300设置此值以获得最佳性能。 aplease=300设置此值以获得最佳性能。
确保 /etc/vfstab 文件中的设置与 /etc/opt/SUNWsamfs/samfs.cmd 文件中的设置不冲突。/etc/vfstab 文件中的设置将覆盖 /etc/opt/SUNWsamfs/samfs.cmd 文件中的设置。
下一步取决于您是否为 Oracle 二进制文件和 Oracle 配置文件使用 Sun StorEdge QFS 文件系统。
如果您为 Oracle 二进制文件和 Oracle 配置文件使用 Sun StorEdge QFS 文件系统,则转至为共享文件系统创建特定于节点的文件和目录。
否则,请转至安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
创建并装载群集文件系统。
有关如何创建和装载群集文件系统的信息,请参见《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“配置群集”。
如果您使用 UNIX 文件系统 (UFS),请确保为各种类型的 Oracle 文件指定正确的安装选项。
有关正确的选项,请参见下表。在向安装点的 /etc/vfstab 文件中添加条目时,设置这些选项。
文件类型 |
选项 |
---|---|
global、logging、forcedirectio |
|
global、logging |
转到为共享文件系统创建特定于节点的文件和目录以创建 Sun Cluster Support for Oracle Real Application Clusters 软件所需的针对节点的文件和目录。
要简化 Oracle 安装的维护,您可以在共享文件系统上安装 Oracle 二进制文件和 Oracle 配置文件。支持以下共享文件系统:
Sun StorEdge QFS 共享文件系统
群集文件系统
在共享文件系统中安装 Oracle 软件之后,所有群集节点均可以访问 ORACLE_HOME
环境变量所指定的目录中的所有文件。但是,某些 Oracle 文件和目录必须维护特定于节点的信息。
如果是在共享文件系统中安装 Oracle 软件,则须为必须保持节点特定信息的文件和目录创建本地副本。为了确保这些文件和目录可被所有群集节点访问,请使用指向节点的本地文件系统中的文件或目录的符号链接。该文件系统不属于共享文件系统。
要为此而使用符号链接,您必须在本地文件系统中分配一个区域。要使 Oracle 应用程序能够创建到此区域中文件的符号链接,这些应用程序必须能够访问此区域中的文件。由于符号链接位于共享文件系统中,因此从所有节点到这些链接的所有引用都是相同的。因此,对于本地文件系统中的此区域,所有节点都必须具有相同的名称空间。
请对要维护针对节点的信息的每个目录执行此过程。维护针对节点的信息通常需要以下目录:
有关维护针对节点的信息可能需要的其他目录的信息,请参见 Oracle 文档。
在每个群集节点上,创建要维护针对节点的信息的本地目录。
请确保您创建的本地目录结构与包含针对节点的信息的全局目录结构相匹配。例如,全局目录 /global/oracle/network/agent 可能包含您要存储在本地目录 /local 下的针对节点的信息。在这种情况下,便可以创建名为 /local/oracle/network/agent 的目录。
# mkdir -p local-dir |
指定先创建所有不存在的父目录
指定要创建的目录的全路径名
在每个群集节点上,对要维护针对节点的信息的全局目录制作本地副本。
请确保您在步骤 1 中创建的本地目录中包含针对节点的信息的本地副本。
# cp -pr global-dir local-dir-parent |
指定保存属主、组、权限模式、修改时间、访问时间和访问控制列表。
指定复制目录及其所有文件(包括所有子目录及其文件)。
指定要复制的全局目录的完整路径。此目录位于共享文件系统中 ORACLE_HOME
环境变量指定的目录下。
指定在本地节点上要包含本地副本的目录。此目录是您在步骤 1 中创建的目录的父目录。
将您在步骤 2 中复制的全局目录替换为到该全局目录本地副本的符号链接。
此示例说明了在双节点群集中创建针对节点的目录所需的操作顺序。此群集将按以下方式进行配置:
ORACLE_HOME
环境变量指定 /global/oracle 目录。
每个节点上的本地文件系统位于 /local 目录下。
在每个节点上执行以下操作:
要在本地文件系统中创建所需的目录,运行以下命令:
# mkdir -p /local/oracle/network/agent |
# mkdir -p /local/oracle/network/log |
# mkdir -p /local/oracle/network/trace |
# mkdir -p /local/oracle/srvm/log |
# mkdir -p /local/oracle/apache |
要制作将要维护针对节点的信息的全局目录的本地副本,运行以下命令:
# cp -pr $ORACLE_HOME/network/agent /local/oracle/network/. |
# cp -pr $ORACLE_HOME/network/log /local/oracle/network/. |
# cp -pr $ORACLE_HOME/network/trace /local/oracle/network/. |
# cp -pr $ORACLE_HOME/srvm/log /local/oracle/srvm/. |
# cp -pr $ORACLE_HOME/apache /local/oracle/. |
仅在一个节点上执行以下操作:
要删除全局目录,运行以下命令:
# rm -r $ORACLE_HOME/network/agent |
# rm -r $ORACLE_HOME/network/log |
# rm -r $ORACLE_HOME/network/trace |
# rm -r $ORACLE_HOME/srvm/log |
# rm -r $ORACLE_HOME/apache |
要创建从本地目录到其相应的全局目录的符号链接,运行以下命令:
# ln -s /local/oracle/network/agent $ORACLE_HOME/network/agent |
# ln -s /local/oracle/network/log $ORACLE_HOME/network/log |
# ln -s /local/oracle/network/trace $ORACLE_HOME/network/trace |
# ln -s /local/oracle/srvm/log $ORACLE_HOME/srvm/log |
# ln -s /local/oracle/apache $ORACLE_HOME/apache |
请对要维护针对节点的信息的每个文件执行此过程。维护针对节点的信息通常需要以下文件:
有关维护针对节点的信息可能需要的其他文件的信息,请参见 Oracle 文档。
在每个群集节点上,创建包含要维护针对节点的信息的文件的本地目录。
# mkdir -p local-dir |
指定先创建所有不存在的父目录
指定要创建的目录的全路径名
在每个群集节点上,对要维护针对节点的信息的全局文件制作本地副本。
# cp -p global-file local-dir |
指定保存属主、组、权限模式、修改时间、访问时间和访问控制列表。
指定要复制的全局文件的文件名和完整路径。此文件安装在共享文件系统中 ORACLE_HOME
环境变量指定的目录下。
指定要包含文件的本地副本的目录。此目录是您在步骤 1 中创建的目录。
将您在步骤 2 中复制的全局文件替换为到该文件本地副本的符号链接。
此示例说明了在双节点群集中创建针对节点的文件所需的操作顺序。此群集将按以下方式进行配置:
ORACLE_HOME
环境变量指定 /global/oracle 目录。
每个节点上的本地文件系统位于 /local 目录下。
在每个节点上执行以下操作:
要创建包含将要维护针对节点的信息的文件的本地目录,运行以下命令:
# mkdir -p /local/oracle/network/admin |
要制作将要维护针对节点的信息的全局文件的本地副本,运行以下命令:
# cp -p $ORACLE_HOME/network/admin/snmp_ro.ora \ /local/oracle/network/admin/. |
# cp -p $ORACLE_HOME/network/admin/snmp_rw.ora \ /local/oracle/network/admin/. |
仅在一个节点上执行以下操作:
要删除全局文件,运行以下命令:
# rm $ORACLE_HOME/network/admin/snmp_ro.ora |
# rm $ORACLE_HOME/network/admin/snmp_rw.ora |
要创建从文件本地副本到其相应的全局文件的符号链接,运行以下命令:
# ln -s /local/oracle/network/admin/snmp_ro.ora \ $ORACLE_HOME/network/admin/snmp_rw.ora |
# ln -s /local/oracle/network/admin/snmp_rw.ora \ $ORACLE_HOME/network/admin/snmp_rw.ora |
转到安装 Sun Cluster Support for Oracle Real Application Clusters 软件包以安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
如果未在 Sun Cluster 初始安装期间安装 Sun Cluster Support for Oracle Real Application Clusters 软件包,请执行此过程以安装该软件包。在可以运行 Sun Cluster Support for Oracle Real Application Clusters 的所有群集节点上执行此过程。必需使用 Sun Java Enterprise System Accessory CD Volume 3 才能完成此过程。
以下是 Sun Cluster Support for Oracle Real Application Clusters 软件包:
RAC 框架资源组软件包
Oracle RAC 服务器资源和 Oracle RAC 侦听器资源软件包
通过使用 pkgadd 实用程序安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
由于在安装之前需要进行准备,因此 scinstall(1M) 实用程序不支持自动安装 RAC 框架资源组软件包。
将 Sun Java Enterprise System Accessory CD Volume 3 放入 CD-ROM 驱动器。
成为超级用户。
此目录取决于您所使用的 Solaris 操作系统的版本。
如果您使用的是 Solaris 8,请运行以下命令:
# cd /cdrom/cdrom0/components/SunCluster_Oracle_RAC/Solaris_8/Packages |
如果您使用的是 Solaris 9,请运行以下命令:
# cd /cdrom/cdrom0/components/SunCluster_Oracle_RAC/Solaris_9/Packages |
在可运行 Sun Cluster Support for Oracle Real Application Clusters 的每个群集节点上,将所需软件包的内容从 CD-ROM 传送到节点。
所需的软件包取决于您用于 Oracle Real Application Clusters 数据库的存储管理方案。
如果您使用 Solaris Volume Manager for Sun Cluster,请运行以下命令:
# pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWscmd |
# pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWcvmr SUNWcvm |
# pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWschwr |
如果您使用具有硬件 RAID 支持的 Sun StorEdge QFS 共享文件系统,请运行以下命令:
# pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWschwr |
将当前工作目录更改为包含 Oracle RAC 服务器资源和 Oracle RAC 侦听器资源软件包的目录。
此目录取决于您所使用的 Solaris 操作系统的版本。
如果您使用的是 Solaris 8,请运行以下命令:
# cd /cdrom/cdrom0/components/SunCluster_HA_Oracle_3.1/Solaris_8/Packages |
如果您使用的是 Solaris 9,请运行以下命令:
# cd /cdrom/cdrom0/components/SunCluster_HA_Oracle_3.1/Solaris_9/Packages |
在可运行 Sun Cluster Support for Oracle Real Application Clusters 的每个群集节点上,将所需软件包的内容从 CD-ROM 传送到节点。
请转至准备 Sun Cluster 节点以准备 Sun Cluster 节点。
准备 Sun Cluster 节点将修改操作系统的配置,以使 Oracle Real Application Clusters 能够在 Sun Cluster 节点上运行。准备 Sun Cluster 节点和磁盘包括以下任务:
绕过 NIS 名称服务
创建数据库管理员组和 Oracle 用户帐户
在可以运行 Sun Cluster Support for Oracle Real Application Clusters 的所有节点上执行这些任务。如果未全部在所有节点上执行这些任务,Oracle 安装将不完整。Oracle 安装不完整会导致 Sun Cluster Support for Oracle Real Application Clusters 启动失败。
绕过 NIS 名称服务可以防止 Sun Cluster Support for Oracle Real Application Clusters 数据服务受到群集节点的公共网络的故障的影响。群集节点的公共网络的故障可能会导致 NIS 名称服务不可用。如果 Sun Cluster Support for Oracle Real Application Clusters 引用 NIS 名称服务,则名称服务不可用可能会导致 Sun Cluster Support for Oracle Real Application Clusters 数据服务出现故障。
绕过 NIS 名称服务可以确保 Sun Cluster Support for Oracle Real Application Clusters 数据服务在数据服务设置用户标识符 (ID) 时不引用 NIS 名称服务。Sun Cluster Support for Oracle Real Application Clusters 数据服务在数据服务启动或停止数据库时设置用户 ID。
成为可以运行 Sun Cluster Support for Oracle Real Application Clusters 的所有节点上的超级用户。
在每个节点上,在 /etc/nsswitch.conf 文件中包含以下条目。
passwd: files nis [TRYAGAIN=0] publickey: files nis [TRYAGAIN=0] project: files nis [TRYAGAIN=0] group: files |
有关 /etc/nsswitch.conf 文件的更多信息,请参见 nsswitch.conf(4) 手册页。
请以超级用户身份在每个群集节点上执行以下步骤。
在每个节点上,在 /etc/group 文件中为数据库管理员组创建条目,并将潜在用户添加到该组。
此组通常命名为 dba。检验 root 和 oracle 是否为 dba 组的成员,并根据需要为其他数据库管理员 (DBA) 用户添加条目。检验运行 Sun Cluster Support for Oracle Real Application Clusters 的所有节点上的组 ID 是否相同。例如,在 /etc/group 文件中添加以下条目。
dba:*:520:root,oracle |
您可以在网络名称服务(如网络信息服务 【NIS】 或 NIS+)中创建名称服务条目,以便数据服务客户机可以使用这些信息。也可以在本地的 /etc 文件中创建条目,以消除对网络名称服务的依赖性。
在每个节点上,在 /etc/passwd 文件中为 Oracle 用户 ID(组和口令)创建条目,并运行 pwconv(1M) 命令以便在 /etc/shadow 文件中创建条目。
此 Oracle 用户 ID 通常为 oracle。例如,在 /etc/passwd 文件中添加以下条目。
# useradd -u 120 -g dba -d /oracle-home oracle |
确保运行 Sun Cluster Support for Oracle Real Application Clusters 的所有节点上的用户 ID 都相同。
设置了适用于 Oracle Real Application Clusters 的群集环境之后,请转到如何安装 Oracle UDLM 以在每个群集节点上安装 Oracle UDLM 软件。
要使 Oracle UDLM 软件能够正常运行,必须确保在所有群集节点上都有足够的可用共享内存。有关安装 Oracle UDLM 的详细说明,请参见 Oracle Real Application Clusters CD-ROM。
安装 Oracle UDLM 之前,请确保已创建数据库管理员组和 Oracle 用户 ID 条目。有关详细信息,请参阅如何创建数据库管理员组和 Oracle 用户帐户。
您必须在每个节点的本地磁盘上安装 Oracle UDLM 软件。
成为群集节点的超级用户。
安装 Oracle UDLM 软件。
有关说明,请参见相应的 Oracle Real Application Clusters 安装文档。
请确保在安装 Oracle UDLM 软件包时没有收到任何错误消息。如果在软件包安装过程中出现了错误,请先更正问题,然后再安装 Oracle UDLM 软件。
您必须根据群集中可用的资源来配置这些参数。确定适合的值,但要确保 Oracle UDLM 能够创建符合其配置要求的共享内存段。
下例显示了要在 /etc/system 文件中配置的条目。
*SHARED MEMORY/ORACLE set shmsys:shminfo_shmmax=268435456 set semsys:seminfo_semmap=1024 set semsys:seminfo_semmni=2048 set semsys:seminfo_semmns=2048 set semsys:seminfo_semmsl=2048 set semsys:seminfo_semmnu=2048 set semsys:seminfo_semume=200 set shmsys:shminfo_shmmin=200 set shmsys:shminfo_shmmni=200 set shmsys:shminfo_shmseg=200 |
关闭并重新引导安装了 Oracle UDLM 软件的每个节点。
在重新引导之前,您必须确保已正确安装和配置了 Oracle UDLM 软件。另外,请检验是否正确安装了卷管理器软件包。如果要使用 VxVM,请检验是否安装了软件,并检验 VxVM 群集功能的许可证是否有效。否则,会出现紧急情况。
有关详细说明,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的“关闭并引导单个群集节点”。
在每个群集节点上安装 Oracle UDLM 软件之后,下一步取决于您的存储管理方案(如下表所示)。
存储管理方案 |
下一步 |
---|---|
Solaris Volume Manager for Sun Cluster |
在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集 |
具有群集功能的 VxVM | |
其他 |
仅当您使用 Solaris Volume Manager for Sun Cluster 时才执行此任务。
如果您使用 Solaris Volume Manager for Sun Cluster,则 Solaris Volume Manager 需要多拥有者磁盘集,以便供 Oracle Real Application Clusters 数据库使用。有关 Solaris Volume Manager for Sun Cluster 多拥有者磁盘集的信息,请参见《Solaris Volume Manager Administration Guide》中的 “Disk Set Concepts for Solaris Volume Manager for Sun Cluster”。
在 Solaris Volume Manager for Sun Cluster 中为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集之前,请注意以下几点:
确保每个节点上均安装了所需的 Sun Cluster Support for Oracle Real Application Clusters 软件包。有关详细信息,请参见安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
添加到多拥有者磁盘集中的磁盘设备必须直接附加到所有群集节点。
创建多拥有者磁盘集。
为达到此目的,请使用 metaset(1M) 命令。
# metaset -s setname -M -a -h nodelist |
指定要创建的磁盘集的名称。
指定要创建的磁盘集为多拥有者磁盘集。
指定 -h 选项所指定的节点将被添加到磁盘集中。
指定将被添加到磁盘集的节点(以空格分隔)列表。此列表中的每个节点上都必须安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
将全局设备添加到您在步骤 1 中创建的磁盘集中。
# metaset -s setname -a devicelist |
指定您要修改在步骤 1 中创建的磁盘集。
指定 devicelist 所指定的设备将被添加到磁盘集中。
指定要添加到磁盘集中的全局设备的完整设备 ID 路径名(以空格分隔)列表。为了能够从群集中的任何节点一致地访问每个设备,请确保每个设备 ID 路径名均为 /dev/did/dsk/d N 形式,其中 N 为设备编号。
为在步骤 1 中创建的磁盘集创建 Oracle Real Application Clusters 数据库将使用的卷。
如果要为 Oracle 数据文件创建多个卷,您可以通过使用软分区来简化此步骤。有关更多信息,请参见《Solaris Volume Manager Administration Guide》中的 “Soft Partitions (Overview)” 和《Solaris Volume Manager Administration Guide》中的 “Soft Partitions (Tasks)”。
通过并置在步骤 2 中添加的全局设备上的片来创建每个卷。为达到此目的,请使用 metainit(1M) 命令。
# metainit -s setnamevolume-abbrev numstripeswidth slicelist |
检验是否已将每个节点正确添加到多拥有者磁盘集中。
为达到此目的,请使用 metastat(1M) 命令。
# metastat -s setname |
指定您要检验在步骤 1 中创建的磁盘集。
此命令显示一个表,其中包含已正确添加到磁盘集中的每个节点的以下信息:
Host 列包含节点名称。
Owner 列包含文本 multi-owner。
Member 列包含文本 Yes。
检验是否已正确配置多拥有者磁盘集。
# scconf -pvv | grep setname |
指定仅显示在步骤 1 中创建的磁盘集的配置信息。
此命令显示磁盘集的设备组信息。对于多拥有者磁盘集,设备组类型为 Multi-owner_SVM。
检验多拥有者磁盘集的联机状态。
# scstat -D |
此命令显示多拥有者磁盘集中处于联机状态的节点的节点名称。
在可以拥有磁盘集的每个节点上,更改在步骤 3 中创建的每个卷的拥有权,如下所示:
拥有者:oracle
组:dba
请确保仅更改 Oracle Real Application Clusters 数据库将使用的卷的拥有权。
# chown oracle:dba volume-list |
在可以拥有磁盘集的每个节点上,授予 oracle 用户对已在步骤 7 中更改其拥有权的每个卷的读取访问权限和写入访问权限。
请确保仅更改 Oracle Real Application Clusters 数据库将使用的卷的访问权限。
# chmod u+rw volume-list |
指定要授予 oracle 用户读取访问权限和写入访问权限的卷的逻辑名称(以空格分隔)列表。请确保此列表包含在步骤 7 中所指定的卷。
本例显示了在 Solaris Volume Manager for Sun Cluster 中创建多拥有者磁盘集所需的一系列操作。本例假定卷位于原始设备上。
要创建多拥有者磁盘集,请运行以下命令:
# metaset -s racdbset -M -a -h rachost1 rachost2 rachost3 rachost4 |
该多拥有者磁盘集名为 racdbset。节点 rachost1、rachost2、rachost3 和 rachost4 被添加到该磁盘集中。
要将全局设备 /dev/did/dsk/d0 添加到磁盘集中,请运行以下命令:
# metaset -s racdbset -a /dev/did/dsk/d0 |
要为磁盘集创建卷,请运行以下命令:
# metainit -s racdbset d0 1 1 /dev/did/dsk/d0s0 |
卷名为 d0。此卷是通过片 /dev/did/dsk/d0s0 的一对一并置创建的。片未按存储条进行分组。
要检验是否已将每个节点正确添加到多拥有者磁盘集中,请运行以下命令:
# metastat -s racdbset Multi-owner Set name = racdbset, Set number = 1, Master = rachost2 Host Owner Member rachost1 multi-owner Yes rachost2 multi-owner Yes rachost3 multi-owner Yes rachost4 multi-owner Yes Drive Dbase d6 Yes d10 Yes |
要检验是否已正确配置多拥有者磁盘集,请运行以下命令:
# scconf -pvv | grep racdbset Device group name: racdbset (racdbset) Device group type: Multi-owner_SVM (racdbset) Device group failback enabled: no (racdbset) Device group node list: rachost1, rachost2, rachost3, rachost4 (racdbset) Device group ordered node list: no (racdbset) Device group desired number of secondaries: 0 (racdbset) Device group diskset name: racdbset |
要检验多拥有者磁盘集的联机状态,请运行以下命令:
# scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- -- Device Group Status -- Device Group Status ------------ ------ -- Multi-owner Device Groups -- Device Group Online Status ------------ ------------- Multi-owner device group: racdbset rachost1,rachost2,rachost3,rachost4 |
要将磁盘集中的卷的拥有权更改为组 dba 中的拥有者 oracle,请运行以下命令:
# chown oracle:dba /dev/md/racdbset/rdsk/d0 |
应在可以拥有磁盘集的每个节点上运行此命令。
要授予 oracle 用户对磁盘集中的卷的读取访问权限,请运行以下命令:
# chmod u+rw /dev/md/racdbset/rdsk/d0 |
此命令在可以拥有磁盘集的每个节点上运行。
为 Oracle Real Application Clusters 数据库创建多拥有者磁盘集之后,请转至注册和配置 RAC 框架资源组以注册和配置 Sun Cluster Support for Oracle Real Application Clusters。
仅当您使用具有群集功能的 VxVM 时,才能执行此任务。
如果您使用具有群集功能的 VxVM,VxVM 将需要一个共享磁盘集,以便供 Oracle Real Application Clusters 数据库使用。
为 Oracle Real Application Clusters 数据库创建 VxVM 共享磁盘集之前,请注意以下要点。
确保在每个节点上均安装了所需的 Sun Cluster Support for Oracle Real Application Clusters 软件包。有关详细信息,请参见安装 Sun Cluster Support for Oracle Real Application Clusters 软件包。
添加到共享磁盘集的磁盘必须直接连接到所有群集节点。
确保 VxVM 许可证有效。如果许可证过期,节点将出现紧急情况。
为 Oracle Real Application Clusters 数据库创建了共享磁盘集之后,请转到注册和配置 RAC 框架资源组以注册和配置 Sun Cluster Support for Oracle Real Application Clusters。