以下故障监视器提供了 Sun Cluster HA for SAP DB 数据服务的故障监视:
SAP DB 故障监视器
SAP xserver 故障监视器
故障监视器 |
资源类型 |
---|---|
SAP DB |
SUNW.sapdb |
SAP xserver |
SUNW.sap_xserver |
这些资源的系统特性和扩展特性控制着故障监视器的行为。这些特性的缺省值确定了故障监视器的预设行为。预设行为应该适用于大多数 Sun Cluster 安装。因此,仅在需要修改此预设行为时才应该调节 Sun Cluster HA for SAP DB 故障监视器。
调节 Sun Cluster HA for SAP DB 故障监视器涉及到以下任务:
设置两次故障监视器探测之间的间隔
设置故障监视器探测的超时
定义持久性故障的标准
指定资源的故障转移行为
有关更多信息,请参见《Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“调节 Sun Cluster 数据服务的故障监视器”。执行这些任务所需要的有关 Sun Cluster HA for SAP DB 故障监视器的信息可在后面的小节中找到。
Sun Cluster HA for SAP DB 还允许您控制故障监视器如何响应 SAP DB 父内核进程未运行的情况。有关更多信息,请参阅如果父内核进程被终止,强制重新启动 SAP DB 数据库实例。
在您注册和配置 Sun Cluster HA for SAP DB 时,请调节 Sun Cluster HA for SAP DB 故障监视器。有关更多信息,请参阅注册和配置 Sun Cluster HA for SAP DB 。
为了确定 SAP xserver 和 SAP DB 数据库实例是否运行正常,Sun Cluster HA for SAP DB 故障监视器会定期探测这些资源。两次故障监视器探测之间的最佳间隔取决于响应资源中的故障所需的时间。该时间依赖于资源的复杂性影响执行操作(如重新启动该资源)所需的时间的程度。
例如,SAP xserver 是比 SAP DB 简单的资源,其重新启动的速度也相对较快 。因此,两次 SAP xserver 故障监视器探测之间的最佳间隔会比两次 SAP DB 故障监视器探测之间的最佳间隔短。
故障监视器探测的最佳超时取决于故障监视器对资源进行探测时所执行的操作。
在探测过程中,SAP DB 故障监视器执行以下操作:
SAP DB 故障监视器确定 SAP DB 数据库实例是否联机。
如果 SAP DB 数据库实例处于联机状态,SAP DB 故障监视器将确定 SAP DB 数据库实例的父内核进程是否在运行。如果父内核进程不在运行,您可以控制故障监视器如何做出响应。有关更多信息,请参阅如果父内核进程被终止,强制重新启动 SAP DB 数据库实例。
SAP DB 故障监视器确定 SAP xserver 是否可用。此故障监视是对 SAP xserver 故障监视器所提供的故障监视的补充。
在探测过程中,SAP xserver 故障监视器将确定 SAP xserver 是否可用。
后面的小节中说明了每个 Sun Cluster HA for SAP DB 故障监视器检测的故障。
SAP DB 故障监视器检测 SAP DB 中的以下故障:
SAP DB 数据库实例的状态不是 ONLINE(例如 OFFLINE 或 ADMIN)
SAP DB 数据库实例的父内核进程意外终止
SAP DB 故障监视器还检测 SAP xserver 是否可用。此故障监视是对 SAP xserver 故障监视器所提供的故障监视的补充。
如果 SAP DB 故障监视器在重试间隔内两次检测到 SAP xserver 不可用,SAP DB 故障监视器将重新启动 SAP DB。通过重新启动 SAP DB,故障监视器确保了 SAP DB 数据库在 SAP xserver 持续不可用时可以向其他节点进行故障转移。
SAP xserver 故障监视器检测以下故障:
SAP xserver 不可用。SAP DB 故障监视器也检测此故障。
持久性系统错误。持久性系统错误是指在重试间隔内发生四次的系统错误。如果出现持久性系统错误,故障监视器将重新启动 SAP xserver。
为了尽量减小资源中的瞬态故障所造成的破坏,遇到此类故障时,故障监视器将重新启动资源。对于持久性故障,需要比重新启动资源更具破坏性的操作:
对于 SAP DB 资源,故障监视器会将资源故障转移到其他节点。SAP DB 资源是故障转移资源。
对于 SAP xserver 资源,故障监视器将使该资源脱机。SAP xserver 是可伸缩资源。
缺省情况下,父内核进程的意外终止不会导致 SAP DB 故障监视器重新启动 SAP DB 数据库实例。SAP DB 数据库实例可以在没有父内核进程的情况下继续发挥作用。在这种情况下,重新启动 SAP DB 数据库实例可能会导致无谓的 SAP DB 数据库实例不可用故障。因此,仅在需要父内核进程提供的功能(例如要维护日志历史的完整性)时,才应该强制重新启动 SAP DB 数据库实例。
如果父内核进程被终止,要强制重新启动 SAP DB 数据库实例,将 SUNW.sapdb 资源的 Restart_if_Parent_Terminated 扩展特性设置为 True。