Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1196107
  • 博文数量: 245
  • 博客积分: 10185
  • 博客等级: 上将
  • 技术积分: 2744
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-30 17:07
文章分类

全部博文(245)

文章存档

2015年(1)

2014年(1)

2013年(1)

2012年(1)

2011年(37)

2010年(20)

2009年(14)

2008年(38)

2007年(88)

2006年(44)

分类: Oracle

2008-07-16 17:50:49

Oracle Clusterware及Rac管理及部署指南10g Release 2(B14197-03)

Oracle Clusterware需要两个clusterware组件:

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

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

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

Clusterware有如下后台进程

l Cluster Synchronization ServiceCSS

l Event ManagementEVM

Clusterware软件中各组件功能

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

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

l Event ManagementEVM:发布CRS创建事件的后台进程。

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

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

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


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

1ClusterWare相关进程列表

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 OCFSOracle集群文件系统:Oracle Cluster File System。可在linuxwindows系统上使用)或通过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)的原因,RACSGA需求比单实例的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

OracleClusterware需要如下两个关键文件

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

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

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

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

阅读(3620) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~