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

了解 Sun Cluster HA for Oracle 故障监视器

Sun Cluster HA for Oracle 的两个故障监视器分别是服务器监视器和侦听程序监视器。

Oracle 服务器故障监视器

用于 Oracle 服务器的故障监视器使用对服务器的请求来查询服务器的健康状况。

服务器故障监视器通过 pmfadm 启动,以使监视器具有高可用性。 如果监视器由于任何原因而终止,进程监视器工具 (PMF) 将自动重新启动该监视器。

服务器故障监视器进程

服务器故障监视器包括以下进程。

主故障监视器的操作

如果数据库处于联机状态,并且在事务处理过程中没有返回错误,则主故障监视器确定操作是成功的。

数据库客户机故障探测的操作

数据库客户机故障探测将查询动态性能视图 v$sysstat 以获得数据库性能统计信息。 这些统计信息发生变化表示数据库运行正常。 如果这些统计信息在连续查询之间保持不变,故障探测将执行数据库事务以确定数据库是否运行正常。 这些事务包括在用户表空间中对表的创建、更新和拖放。

数据库客户机故障探测以 Oracle 用户身份执行其所有事务。 此用户的 ID 在准备节点的过程中进行指定,如如何准备节点 中所述。

探测使用在资源特性 Probe_timeout 中设置的超时值,来确定用于成功探测 Oracle 所分配的时间。

服务器故障监视器响应数据库事务失败所执行的操作

如果数据库事务失败,服务器故障监视器将执行一项由导致失败的错误所确定的操作。 要更改服务器故障监视器执行的操作,请按定制 Sun Cluster HA for Oracle 服务器故障监视器 中的说明定制服务器故障监视器。

如果操作需要运行外部程序,该程序将作为单独的进程在后台运行。

可能的操作如下所示:

由服务器故障监视器扫描日志警报

Oracle 软件在警报日志文件中记录警报。 此文件的绝对路径由 SUNW.oracle_server 资源的 alert_log_file 扩展特性所指定。 服务器故障监视器于以下时间在警报日志文件中扫描新的警报:

如果为服务器故障监视器检测到的日志警报定义一个操作,服务器故障监视器将执行响应警报的操作。

日志警报的预设操作在表 A–2 中列出。 要更改服务器故障监视器执行的操作,请按定制 Sun Cluster HA for Oracle 服务器故障监视器 中的说明定制服务器故障监视器。

Oracle 侦听程序故障监视器

Oracle 侦听程序故障监视器将检查 Oracle 侦听程序的状态。

如果正在运行侦听程序,Oracle 侦听程序故障监视器将认为探测成功。 如果故障监视器检测到一个错误,侦听程序将重新启动。

侦听程序探测通过 pmfadm 启动,以使探测具有高可用性。 如果探测被终止,PMF 将自动重新启动探测。

如果在探测过程中侦听程序出现问题,探测将尝试重新启动侦听程序。 在资源特性 Retry_count 中设置的值确定了探测尝试重新启动的最大次数。 如果在尝试了最大次数后,探测仍不成功,探测将停止故障监视器,并且不切换资源组。