Oracle Clusterware及Rac管理及部署指南10g Release 2

来源:互联网 发布:淘宝优惠券卡包 编辑:程序博客网 时间:2024/04/29 18:26

B14197-03

Oracle Clusterware 需要两个 clusterware 组件:

l Voting disk :用于记录结点( node )的成员资格信息

l Oracle Cluster Registry ( OCR ):记录集群( cluster )的配置信息

l 这两个组件必须在共享磁盘上

Clusterware 有如下后台进程

l Cluster Synchronization Service ( CSS )

l Event Management ( EVM )

Clusterware 软件中各组件功能

l Cluster Synchronization Service ( CSS ):通过控制哪个结点为集群的成员、结点在加入或离开集群时通知集群成员来控制集群的配置信息。

l Cluster Ready Services ( CRS ):管理集群内高可用操作的基本程序。 Crs 管理的任何事物被称之为资源,它们可以是一个数据库、一个实例、一个监听、一个虚拟 IP ( VIP )地址、一个应用进程等等。 CRS 是根据存储于 OCR 中的资源配置信息来管理这些资源的。这包括启动、关闭、监控及故障切换( start 、 stop 、 monitor 及 failover )操作。当一资源的状态改变时, CRS 进程生成一个事件。当你安装 RAC 时, CRS 进程监控 Oracle 的实例、监听等等,并在故障发生时自动启动这些组件。默认情况下, CRS 进程会进行 5 次重启操作,如果资源仍然无法启动则不再尝试。

l Event Management ( EVM ):发布 CRS 创建事件的后台进程。

l Oracle Notification Service ( ONS ):通信的快速应用通知( FAN : Fast Application Notification )事件的发布及订阅服务。

l RACG :为 clusterware 进行功能扩展以支持 Oracle 的特定需求及复杂资源。它在 FAN 事件发生时执行服务器端的调用脚本( server callout script )

l Process Monitor Daemon ( OPROCD ):此进程被锁定在内存中,用于监控集群( cluster )及提供 I/O 防护( I/O fencing )。 OPROCD 执行它的检查,停止运行,且如果唤醒超过它所希望的间隔时, OPROCD 重置处理器及重启节点。一个 OPROCD 故障将导致 Clusterware 重启节点。

下表中带 (r) 的进程表示需要以 root 用户运行

表 1 : ClusterWare 相关进程列表

Clusterware 组件

Linux/unix 进程

Windows 服务

Windows 进程

Process Monitor Daemon

oprocd(r)

OraFenceService

 

RACG

racgmain

racgimon

 

racgmain.exe

racgimon.exe

Oracle Nonification Service(ONS)

ons

  

Event Manager

evmd(r)

evmd.bin

evmlogger

OracleEVMService

evmlogger.exe

evmd.exe

Cluster Ready

crsd.bin(r)

OracleCRSService

crsd.exe

Cluster Synchronization Services

init.cssd(r)

ocssd(r)

ocssd.bin

OracleCSService

ocssd.exe

类 UNIX 系统的 Oracle Clusterware 进程

l crsd :执行高可用性恢复及管理操作,诸如维护 OCR 及管理应用资源。此进程以 root 用户执行(在 Max OS X 类系统中以 admin 组中用户执行)。此进程在发生故障时自动重启。

l evmd :事件管理守护进程。此进程还负责启动 racgevt 进程以管理 FAN 服务器端调用。

l ocssd :管理集群节点的成员资格,此进程以 Oracle 用户执行。此进程发生故障导致集群重启。

l oprocd :集群的进程监控进程。要注意此进程只出现在那些未使用其它厂商的集群管理软件的平台上。

一个 RAC 数据库最多可有 100 个实例,此数目依据你使用的平台可能会有不同。 RAC 可使用如下选项作为你的数据库文件存储:

l ASM

l OCFS ( Oracle 集群文件系统: Oracle Cluster File System 。可在 linux 或 windows 系统上使用)或通过 RAC 认证的第三方 CFS (集群文件系统)。

l 网络文件系统( network file system )

l 裸设备( Raw Devices )

服务使你可定义规则与特性来控制用户及应用如何连接到数据库实例。这些特性包括:唯一名、负载均衡及故障切换选项、及高可用性等特性。

除使用节点的主机名及 IP 地址外,你必须为每个节点指定一个虚拟主机名及虚拟 IP 地址。应使用虚拟主机名或 VIP 来连接数据库实例。

VIP 是一个用户用来连接数据库的替代公网地址( alternate public address ),而不是标准的公网 IP 地址( standard public IP address )。在配置 VIP 时,你必须为每个节点保留一个 IP 地址,此地址与公网属于同一子网。

由于缓冲融合( cache fusion )的原因, RAC 的 SGA 需求比单实例的 SGA 需求要大。

RAC 将专用的节点间连接用于实例间通讯及块传输。全局入队锁服务监控器( Global Enqueue Service Monitor )及实例入队锁进程( Instance Enqueue Process )管理对缓冲融合资源的访问及入队锁恢复处理( enqueue recovery processing )。

以下 RAC 特定进程与 GRD 合作使得缓冲融合成为可能。

l LMS :全局缓冲服务进程( Global Cache Service Process )

l LMD :全局入队锁服务守护进程( Global Enqueue Service Daemon )

l LMON :全局入队锁服务监控器( Global Enqueue Service Monitor )

l LCK0 :实例入队锁进程( Instance Enqueue Process )

Oracle 的 Clusterware 需要如下两个关键文件

l 投票盘( Voting Disk ):通过执行健康检查及网络故障时在实例中执行集群所有权的仲裁来管理集群的成员资格( Cluster membership )。 RAC 使用投票盘来决定哪个实例是集群的成员。投票盘必须在一个共享磁盘上。出于高可用性方面的考虑, Oracle 建议使用多个投票盘。 Oracle 可使用多个投票盘但你必须使用奇数个投票盘。如果你只使用一个,那么你必须使用外部镜像来提供冗余性。

l Oracle 集群注册表( Oracle Cluster Registry : OCR ):维护集群的配置信息及集群中任何集群数据库的配置信息。 OCR 也管理那些 Oracle Clusterware 控制的相关进程的相关信息。 OCR 将配置信息存储在一个目录树结构中的一系列关键字 - 值对中( key-value pairs )。 OCR 必须位于集群中所有结点可同时访问的共享磁盘中。 Oracle Clusterware 可使用多重 OCR ( multiplex 或称为多路复用)。 Oracle 建议使用此特性以保证高可用性。你可以在联机时替换一个故障的 OCR ,可通过支持的 API (如企业管理器、 srvctl 及 dbca )来更新 OCR 。

l 在你安装 Clusterware 及 RAC 前,必须先配置好投票盘及 OCR 。

Oracle 提供了一个高可用性应用编程接口( API ),你可通过这个来使 Oracle Clusterware 来管理运行在集群上的应用或进程。为维护高可用性, Oracle Clusterware 可在状态转换时,根据高可用性规则来重启应用及进程。你可以通过将应用在 Oracle Clusterware 中注册,并配置 Clusterware 启动、停止、重定位应用的进程来使用 Oracle Clusterware 高可用性结构。也就是说你可以使用 Oracle Clusterware 来创建监控、重定位及重启动应用的概要文件( profile ),从而对你的应用进行高可用性定制。 Oracle Clusterware 可对 RAC 数据库创建的 FAN 事件进行响应。当集群服务器不可达、或网络接口变慢或无法工作时, Oracle 将广播 FAN 事件。

 

原创粉丝点击