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

Oracle 服务器故障监视器操作

Oracle 服务器故障监视器使用到服务器的请求来查询服务器的运行状态。

服务器故障监视器通过 pmfadm 启动以确保监视器具有高可用性。如果由于任何原因导致监视器终止,则进程监控器设备 (PMF, Process Monitor Facility) 会自动重新启动监视器。

服务器故障监视器由以下进程组成。

本部分包含以下关于服务器故障监视器的信息:

主要故障监视器操作

如果在事务过程中数据库联机且没有返回错误,则主要故障监视器确定操作成功。

数据库客户端故障探测操作

数据库客户端故障探测执行以下操作:

  1. 监视已归档 redo 日志分区请参见 已归档 Redo 日志分区监视器操作

  2. 如果分区运行良好,则确定数据库工作正常。请参见 确定数据库是否正常工作的操作

探测使用资源属性 Probe_timeout 中设置的超时值来确定成功探测 Oracle 需要分配多长时间。

已归档 Redo 日志分区监视器操作

数据库客户端故障探测会查询动态性能视图 v$archive_dest 来确定已归档 Redo 日志的所有可能目标。对于每个活动目标,探测将确定目标是否运行良好并具有充足的空闲空间用于存储已归档 redo 日志。

确定数据库是否正常工作的操作

如果已归档 redo 日志分区运行良好,则数据库客户端故障探测会查询动态性能视图 v$sysstat 以获得数据库性能统计数据。这些统计数据发生变化表示数据库工作正常。如果这些统计数据在连续查询期间保持不变,则故障探测会执行数据库事务以确定数据库是否正常工作。这些事务包括在用户表空间中创建、更新和删除表。

数据库客户端故障探测作为 Oracle 用户执行所有事务。此用户 ID 在节点或区域准备期间指定,如 如何准备节点 所述。

服务器故障监视器响应数据库事务故障的操作

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

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

可能执行的操作如下:

扫描服务器故障监视器记录的警报

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

如果服务器故障监视器检测到一个已记录的警报,且针对该警报定义了一项操作,则服务器故障监视器将执行该操作以响应警报。

表 2 中列出的已记录警报的预设操作。要更改服务器故障监视器所执行的操作,可以按照定制 Sun Cluster HA for Oracle 服务器 故障监视器中的说明定制服务器故障监视器。