用于 Oracle Real Application Clusters 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

第 3 章 Sun Cluster Support for Oracle Real Application Clusters 疑难解答

如果您使用 Sun Cluster Support for Oracle Real Application Clusters 时遇到了问题,请使用以下各节中介绍的技巧来解决问题。

检验 Sun Cluster Support for Oracle Real Application Clusters 的状态

SUNW.rac_framework 资源的状态表明了 Sun Cluster Support for Oracle Real Application Clusters 的状态。Sun Cluster 系统管理工具 scstat(1M) 使您可以获得此资源的状态。

如何检验 Sun Cluster Support for Oracle Real Application Clusters 的状态

  1. 成为超级用户。

  2. 键入以下命令:


    # scstat -g
    

以下示例说明了 Sun Cluster Support for Oracle Real Application Clusters 的双节点配置的资源的状态。此配置使用 Solaris Volume Manager for Sun Cluster 来存储 Oracle Real Application Clusters 数据库。

每个节点均包含一个名为 rac-framework-rg 的 RAC 框架资源组。下表显示了这些资源组中的每个资源的资源类型和资源名称。

资源类型 

资源实例名称 

SUNW.rac_framework

rac_framework

SUNW.rac_udlm

rac_udlm

SUNW.rac_svm

rac_svm

每个节点包含一个 Oracle RAC 服务器资源的资源组(如下表所示)。表中还显示了每个资源组中的资源的资源类型和名称。

节点 

资源组 

资源类型 

资源名称 

node1

RAC1-rg

SUNW.oracle_rac_server

RAC1

node2

RAC2-rg

SUNW.oracle_rac_server

RAC2


实例 3–1 出错的 RAC 框架资源组的状态


-- Resource Groups and Resources --

           Group Name        Resources
           ----------        ---------
Resources: rac-framework-rg  rac_framework rac_udlm rac_svm
Resources: RAC1-rg             RAC1
Resources: RAC2-rg             RAC2


-- Resource Groups --

            Group Name        Node Name  State
            ----------        ---------  -----
     Group: rac-framework-rg  node1      Online faulted
     Group: rac-framework-rg  node2      Online

     Group: RAC1-rg           node1       Online

     Group: RAC2-rg           node2     Online


-- Resources --

            Resource Name    Node Name  State     Status Message
            -------------    ---------  -----     --------------
  Resource: rac_framework    node1      Start failed Degraded - reconfiguration in progress
  Resource: rac_framework    node2      Online    Online

  Resource: rac_udlm         node1      Offline   Unknown - RAC framework is running
  Resource: rac_udlm         node2      Online    Online

  Resource: rac_svm          node1      Offline   Unknown - RAC framework is running
  Resource: rac_svm          node2      Online    Online

  Resource: RAC1             node1      Online    Online

  Resource: RAC2             node2      Online    Faulted

本例提供了有关出现故障的 RAC 框架资源组的以下状态信息。



实例 3–2 出现故障的 RAC 服务器资源组的状态


-- Resource Groups and Resources --

             Group Name          Resources
             ----------          ---------
  Resources: rac-framework-rg    rac_framework rac_udlm rac_svm
  Resources: RAC1-rg             RAC1    
  Resources: RAC2-rg             RAC2    


-- Resource Groups --

             Group Name          Node Name      State
             ----------          ---------      -----
      Group: rac-framework-rg    node1          Online
      Group: rac-framework-rg    node2          Online

      Group: RAC1-rg             node1          Online

      Group: RAC2-rg             node2          Online faulted


-- Resources --

             Resource Name      Node Name      State     Status Message
             -------------      ---------      -----     --------------
   Resource: rac_framework      node1          Online    Online
   Resource: rac_framework      node2          Online    Online

   Resource: rac_udlm           node1          Online    Online
   Resource: rac_udlm           node2          Online    Online

   Resource: rac_svm            node1          Online    Online
   Resource: rac_svm            node2          Online    Online

   Resource: RAC1               node1          Online    Online

   Resource: RAC2               node2          Online    Faulted - RAC instance not running

本例提供了有关出现故障的 RAC 服务器资源组的以下状态信息:



实例 3–3 运行正常的 Oracle Real Application Clusters 配置的状态


-- Resource Groups and Resources --

             Group Name          Resources
             ----------          ---------
  Resources: rac-framework-rg    rac_framework rac_udlm rac_svm
  Resources: RAC1-rg             RAC1    
  Resources: RAC2-rg             RAC2    


-- Resource Groups --

             Group Name          Node Name           State
             ----------          ---------           -----
      Group: rac-framework-rg    node1               Online
      Group: rac-framework-rg    node2               Online

      Group: RAC1-rg             node1               Online

      Group: RAC2-rg             node2               Online


-- Resources --

             Resource Name       Node Name           State     Status Message
             -------------       ---------           -----     --------------
   Resource: rac_framework       node1               Online    Online
   Resource: rac_framework       node2               Online    Online

   Resource: rac_udlm            node1               Online    Online
   Resource: rac_udlm            node2               Online    Online

   Resource: rac_svm             node1               Online    Online
   Resource: rac_svm             node2               Online    Online

   Resource: RAC1                node1               Online    Online

   Resource: RAC2                node2               Online    Online

本例显示了运行正常的 Oracle Real Application Clusters 配置的状态。示例表明该配置中的所有资源和资源组均已联机。


诊断信息的来源

目录 /var/cluster/ucmm 包含以下诊断信息源:

目录 /var/opt/SUNWscor/oracle_server 包含 Oracle RAC 服务器资源的日志文件。

系统消息文件也包含诊断信息。

如果使用 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 期间出现致命的问题,节点将出现紧急情况,并显示类似于以下错误消息的错误消息:


panic[cpu0]/thread=40037e60: Failfast: 由于“ucmmd”在 30 秒钟前结束而终止

要确定问题的原因,请查看系统消息文件。此问题的最常见原因包括:

  • VERITAS Volume Manager (VxVM) 的许可证丢失或过期。

  • 未安装包含 Oracle UDLM 的 ORCLudlm 软件包。

  • 共享内存容量不足,Oracle UDLM 无法启动。

  • Oracle UDLM 的版本与 Sun Cluster Support for Oracle Real Application Clusters 的版本不兼容。

有关更正此问题的说明,请参见在初始化过程中如何从节点紧急情况恢复

在 Sun Cluster Support for Oracle Real Application Clusters 初始化过程中,节点也可能由于重新配置步骤超时而出现紧急情况。 有关更多信息,请参见由于超时而导致节点出现紧急情况

在初始化过程中如何从节点紧急情况恢复

  1. 将出现紧急情况的节点引导到维护模式。

    有关更多信息,请参见Sun Cluster 系统管理指南(适用于 Solaris OS)

  2. 检验是否正确安装了卷管理器软件包。

    如果您使用 VxVM,请检查是否安装了软件,并检查 VxVM 群集功能的许可证是否有效。

  3. 确保您已完成需要在安装和配置 Oracle UDLM 软件之前完成的所有过程。

    表 1–1 中列出了您必须完成的过程。

  4. 确保正确安装和配置 Oracle UDLM 软件。

    有关更多信息,请参见安装 Oracle UDLM

  5. 重新引导出现紧急情况的节点。

    有关更多信息,请参见Sun Cluster 系统管理指南(适用于 Solaris OS)

由于超时而导致节点出现紧急情况

重新配置 Sun Cluster Support for Oracle Real Application Clusters 的任何步骤超时都会导致其中发生超时的节点出现紧急情况。

为防止重新配置步骤超时,请根据您的群集配置调整超时。有关详细信息,请参见设置超时的指导

如果重新配置步骤超时,请使用 scrgadm 实用程序增加用于指定步骤超时的扩展特性的值。有关更多信息,请参见附录 A,Sun Cluster Support for Oracle Real Application Clusters 扩展特性

增加扩展特性的值之后,重新引导出现紧急情况的节点。

节点故障

节点故障恢复涉及以下任务:

  1. 将出现紧急情况的节点引导到维护模式

  2. 针对引起问题的原因执行相应的恢复操作

  3. 重新引导出现紧急情况的节点

有关更多信息,请参见Sun Cluster 系统管理指南(适用于 Solaris OS)


注意 –

在 Oracle Real Application Clusters 环境中,多个 Oracle 实例共同提供对同一共享数据库的访问。Oracle 客户机可以使用任一实例来访问数据库。因此,如果一个或多个实例出现故障,客户机可以连接到剩余的实例并继续访问数据库。


无法启动 ucmmd 守护程序

UCMM 守护程序 ( ucmmd) 可以管理 Sun Cluster Support for Oracle Real Application Clusters 的重新配置。引导或重新引导群集时,只有在 Sun Cluster Support for Oracle Real Application Clusters 的所有组件都验证完毕后,此守护程序才会启动。如果节点上的某个组件验证失败,节点上的 ucmmd 将无法启动。

要确定问题的原因,请查看以下文件:

此问题的最常见原因包括:

要更正问题,请针对问题的原因执行适当的恢复操作,并重新引导其中 ucmmd 无法启动的节点。

无法启动 SUNW.rac_framework 资源

如果 SUNW.rac_framework 资源无法启动,请检验资源的状态以确定失败的原因。有关详细信息,请参见如何检验 Sun Cluster Support for Oracle Real Application Clusters 的状态

无法启动的资源的状态将显示为启动失败。关联的状态消息将指明启动失败的原因,如下所示:


出错 - ucmmd 未运行

ucmmd 守护程序未在资源驻留的节点上运行。有关如何更正此问题的信息,请参见无法启动 ucmmd 守护程序


性能降低 - 正在进行重新配置

Sun Cluster Support for Oracle Real Application Clusters 的一个或多个组件出现配置错误。

要确定配置错误的原因,请查看以下文件:

  • UCMM 重新配置日志文件 /var/cluster/ucmm/ucmm_reconf.log

  • 系统消息文件

有关可能表明配置错误原因的错误消息的详细信息,请参见Sun Cluster Error Messages Guide for Solaris OS

要更正问题,请先更正引起问题的配置错误。然后重新引导错误组件所驻留的节点。


联机

SUNW.rac_framework 资源的 START 方法超时后,仍未完成 Oracle Real Application Clusters 的重新配置。

有关更正此问题的说明,请参见如何从 START 方法超时恢复

如何从 START 方法超时恢复

  1. 成为超级用户。

  2. START 方法超时的节点上,使 RAC 框架资源组脱机。

    要执行此操作,请将资源组的主节点切换为资源组处于联机状态的其他节点。


    # scswitch -z -g resource-group -h nodelist
    
    -g resource-group

    指定 RAC 框架资源组的名称。如果此资源组是使用 scsetup 实用程序创建的,则资源组的名称为 rac-framework-rg

    -h nodelist

    指定 resource-group 处于联机状态的其他群集节点(以逗号分隔)的列表。忽略此列表中 START 方法超时的节点。

  3. 在可运行 Sun Cluster Support for Oracle Real Application Clusters 的所有群集节点上,使 RAC 框架资源组联机。


    # scswitch -Z -g resource-group
    
    -Z

    启用资源和监视器,将资源组转为 MANAGED 状态,并使资源组联机

    -g resource-group

    指定在步骤 2 中脱机的资源组转为 MANAGED 状态并联机

无法停止资源

如果资源无法停止,请按照Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“清除资源上的 STOP_FAILED 错误标志”中的说明更正此问题。