JavaScript is required to for searching.
跳过导航链接
退出打印视图
适用于 Oracle 的 Oracle Solaris Cluster 数据服务指南
search filter icon
search icon

文档信息

前言

安装和配置 HA for Oracle

HA for Oracle 安装和配置过程概述

规划 HA for Oracle 安装和配置

配置要求

配置规划问题

准备节点和磁盘

如何准备节点

如何使用 Solaris Volume Manager 配置 Oracle 数据库访问

如何使用 Veritas Volume Manager 配置 Oracle 数据库访问

如何使用 Oracle ASM 配置 Oracle 数据库访问

如何安装 Oracle ASM 软件

如何检验 Oracle ASM 软件安装

安装 Oracle 软件

如何安装 Oracle 软件

如何设置 Oracle 内核参数

检验 Oracle 安装和配置

如何检验 Oracle 安装

创建 Oracle 数据库

如何创建主 Oracle 数据库

设置 Oracle 数据库权限

如何设置 Oracle 数据库权限

安装 HA for Oracle 软件包

如何安装 HA for Oracle 软件包

注册和配置 HA for Oracle

用于注册和配置 HA for Oracle 的工具

设置 HA for Oracle 扩展属性

如何通过使用 clsetup 实用程序注册和配置 HA for Oracle

如何使用 Oracle Solaris Cluster 维护命令注册和配置不使用 Oracle ASM 的 HA for Oracle

如何使用 Oracle Solaris Cluster 维护命令注册和配置使用单一实例 Oracle ASM 的 HA for Oracle

如何使用 Oracle Solaris Cluster 维护命令注册和配置使用群集 Oracle ASM 实例的 HA for Oracle

从此处可转至何处

检验 HA for Oracle 安装

如何检验 HA for Oracle 安装

Oracle 客户端

HA for Oracle 日志文件的位置

调整 HA for Oracle 故障监视器

Oracle 服务器故障监视器操作

主要故障监视器操作

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

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

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

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

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

Oracle 侦听器故障监视器操作

获取 DBMS 超时故障排除的核心文件

定制 HA for Oracle 服务器 故障监视器

为错误定义定制行为

定制操作文件格式

更改对 DBMS 错误的响应

响应影响严重的错误

忽略影响轻微的错误

将响应更改为已记录的警报

更改连续超时探测的最大次数

将定制操作文件传播到群集中的所有节点

指定服务器故障监视器所要使用的定制操作文件

如何指定服务器故障监视器应该使用的定制操作文件

升级 HA for Oracle 资源类型

升级 SUNW.oracle_listener 资源类型

有关注册新资源类型版本的信息

有关迁移现有资源类型实例的信息

升级 SUNW.oracle_server 资源类型

有关注册新资源类型版本的信息

有关迁移现有资源类型实例的信息

更改 Oracle Data Guard 实例的角色

如何更改 Oracle Data Guard 实例的角色

A.  HA for Oracle 扩展属性

B.  DBMS 错误和已记录警报的预设操作

C.  用于 HA for Oracle 的 Oracle ASM 配置样例

索引

调整 HA for Oracle 故障监视器

HA for Oracle 数据服务的故障监视功能由以下故障监视器提供:

每个故障监视器均包含在下表所示资源类型的资源中。

表 4 HA for Oracle 故障监视器的资源类型

故障监视器
资源类型
Oracle 服务器
SUNW.oracle_server
Oracle 侦听器
SUNW.oracle_listener

这些资源的系统属性和扩展属性控制故障监视器的行为。这些属性的默认值确定故障监视器的预设行为。预设行为应适合大多数 Oracle Solaris Cluster 安装。因此,当需要修改此预设行为时方可调整 HA for Oracle 故障监视器。

调整 HA for Oracle 故障监视器涉及以下任务:

有关更多信息,请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》中的"Tuning Fault Monitors for Oracle Solaris Cluster Data Services"。有关执行这些任务所需的 HA for Oracle 故障监视器的信息将在后续各小节中提供。

注册和配置 HA for Oracle 时,调整 HA for Oracle 故障监视器。有关更多信息,请参见注册和配置 HA for Oracle

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 在准备节点或区域期间指定,如如何准备节点中所述。

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

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

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

可能执行的操作如下:

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

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

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

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

Oracle 侦听器故障监视器操作

Oracle 侦听器故障监视器会检查 Oracle 侦听器的状态。

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


注 - 侦听器资源不提供设置侦听器密码的机制。如果启用 Oracle 侦听器安全,侦听器故障监视器探测可能会返回 Oracle 错误 TNS-01169。因为侦听器能够做出响应,所以侦听器故障监视器会将此次探测视为成功。该操作不会导致侦听器故障始终无法检测。侦听器故障会返回不同的错误,或者导致探测超时。


侦听器探测通过 pmfadm 启动,从而使探测具有高可用性。如果探测进程被终止,PMF 会自动重新启动探测。

如果探测过程中侦听器出现问题,探测进程将尝试重新启动侦听器。为资源属性 retry_count 设置的值将确定探测进程尝试重新启动的最大次数。如果进行最大次数尝试后探测仍然不成功,则探测进程会停止故障监视器且不切换资源组。

获取 DBMS 超时故障排除的核心文件

为方便故障排除未说明的 DBMS 超时,可以在探测超时期间启用故障监视器创建一个核心文件。核心文件的内容与故障监视器进程相关。故障监视器在 / 目录中创建核心文件。要启用故障监视器创建核心文件,可以使用 coreadm 命令启用 set-id 核心转储。有关更多信息,请参见 coreadm(1M) 手册页。