一、 简介
Oracle9i中叫Oracle Cluster Management Service
Oracle10g 10.1 叫Cluster Ready Service(CRS)
Oracle10g 10.2 产品更名Oracle Clusterware提供HA API
Amnesia处理方法 共享集群配置
Split Brain处理方法Quorum Algorithm(OCR)
IO Fencing RAC采用直接重启故障节点
 
二、RAC结构四层:
 1、存储
 2、网络层:Pubilc Private(心跳、cache fusion)
 3、集群套件层
 4、应用层(CRS Resources)
CRS Resource包括两类 信息以metadata记录到OCR磁盘
1、nodeeapps:
 GSD(Global Service Daemon)
 ONS (Oracle Nofitication Service)
 VIP
 -----------------前三个在安装过程中自动注册建立------------
 Listener
2、database-related resources:
 Database
 Instance
 Service
 
三、OCR结构
    1、ORC KEY 树形结构
    2、OCR PROCESS 每个节点都有OCR CACHE的拷贝 由ORC MASTER 节点负责更新到OCR DISK
 
四、Oracle Clusterware后台进程
自动启动的脚本在/etc/inittab里定义
1、OCSSD(Cluster Synchronization Service)提供心跳机制 监控集群状态
DISK HEARTBEAT
NETWORK HEARBEAT
2、CRSD (Cluster Ready Service)提供高可用 干预、关闭、重启、转移服务
资源包括nodeapps、database-related 前者每个节点只需要一个都可正常工作 后一个与数据库相关不受节点限制可以多个
3、EVMD(EVENT MANAGER SERVICE)发布CRS事件 提供CRS与CSS通信
4、RACGIMON 检查数据库健康状态 负责service启动、停止、failover 属于持久连接 定期检查SGA
5、OPROCD(Process Monitor daemon)检测CPU hang 非linux平台使用
 
五、CLUSTERWARE日志体系
日志存放在$ORA_CRS_HOME/log/[hostname]
alert.log 检查起点
crsd cssd evmd CRS的三个重要进程日志
racg 放置所有nodeapps日志(ONS VIP)
client 放置工具执行日志
 
六、RAC的并发控制
DLM(Distributed Lock Management)
1、NON-CACHE FUSION 资源:数据文件、控制文件、数据字典视图、library cache、row cache
2、CACHE FUSION 资源:普通数据块、索引数据块、段头块、undo数据块
3、GRD (Global Resource Directory):记录每个数据块在集群间的分布图 在SGA中分master node与shadow node
4、PCM lock :mode role Past Image
 
七、RAC的主要后台进程
1、LMS0(LOCK MANAGER SERVICE) 对应服务为GCS(Global Cache Service)主要负责数据块在实例间传递 Cache fusion 参数GCS_SERVER_PROCESSES
2、LMD                         对应服务为GES (Global ENQUEUE Service) 主要负责传递过程中锁的管理
3、LCK 负责NON-CACHE FUSION资源同步访问 每个实例有一个进程
4、LMON 每个实例这个进程定期通信对应服务为CGS(Cluster Group Service)
 提供节点监控 node monitor 通过GRD中用位图0 1来标志 0:节点关闭 1:节点正常运行
 通过CM层定期通信
 两种心跳机制:1、网络心跳 2、控制文件磁盘心跳 3秒一次
5、DIAG 监控状态 写日志alert.log
6、GSD 为用户提供管理接口
 
八、RAC重构触发条件
1、NM(NODE MANAGEMENT)group
2、重构集群触发:有node加入或者离开集群由NM触发    network heartbeat异常:LMON、GCS、GES异常有IMR(instance membership reconfiguration  contrlfile heartbeat异常