用于 Sun Java System Application Server EE (HADB) 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

Sun Cluster HA for Sun Java System Application Server EE (HADB) 故障监视器的操作

本节介绍 Sun Cluster HA for Sun Java System Application Server EE (HADB) 故障监视器的功能。

HADB 资源的 start 方法将启动被配置为在本地 Sun Cluster 节点上运行的 HADB 节点(如果它们不在运行)。该方法将尝试启动 HADB 数据库;如果失败,将随后在探测中启动该数据库。

Sun Cluster HA for Sun Java System Application Server EE (HADB) 故障监视器探测将定期检查 HADB 数据库和 HADB 节点的状态。探测将重新启动失败的 HADB 节点,如果在使用 start 方法启动期间,HADB 资源没有启动数据库,则还将启动 HADB 数据库。对于此过程的每一次重复,探测执行以下步骤:

  1. 首先,探测将休眠 Thorough_Probe_Interval 秒。

  2. 通过执行 hadbm statushadbm status --nodes 命令,探测检索 HADB 数据库和 HADB 节点的当前状态。

  3. 如果数据库不在运行,探测将检查本地 Sun Cluster 节点上是否存在与该数据库对应的 HADB stopstate 文件。在启动数据库时,hadbm start 命令将使用 stopstate 文件来确定节点的角色。

  4. 如果 stopstate 文件存在,HADB 资源将检查此文件以确定是否可以启动数据库。

    • 如果可以启动数据库,探测将启动数据库并将资源状态设置为 Online

    • 如果无法启动数据库,探测则将资源状态设置为 Online Degraded

  5. 如果数据库正在运行,探测将启动被配置为在 Sun Cluster 节点上运行的 HADB 节点。

  6. 如果数据库和本地 HADB 节点都在运行,探测将资源状态设置为 Online(如果原状态为 Online Degraded)。

  7. 如果在 HADB 资源组的所有 Sun Cluster 节点中,HADB 资源处于 Online Degraded 状态的时间长于 Stop_timeout 秒,则 HADB 资源将认为无法启动该数据库。

  8. 如果 Auto_recovery 扩展特性被设置为 TRUE,则 HADB 资源将尝试恢复该数据库。

  9. 如果尝试恢复数据库,探测将执行以下步骤:

    • 在资源组节点列表中的一个 Sun Cluster 节点上发送 hadbm clear --fast 命令。此命令将清除数据库内容并重新初始化和重新启动数据库。

    • 如果 hadbm clear 命令成功,将在发送 hadbm clear 命令的同一 Sun Cluster 节点上发送 Auto_recovery_command 中指定的命令。该命令通常是包含 asadmin create-session-store 命令的脚本。该命令也可以实现其他操作。例如,可以向 Application Server 管理员发送邮件。

    • 如果以上两步都成功,探测将资源状态设置为 Online。

  10. 接着从第一步开始重复操作。


注意 –

可以使用 scrgadm 命令调节 Thorough_Probe_Interval 参数和 Stop_timeout 参数。有关详细信息,请参见Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)》中的“标准特性”