返回首页 Oracle-RAC 体验

RAC 后台进程

RAC 后台进程资源

自动启动的脚本/etc/inittab 里定义:

  • OCSSD(Clustery Synchronization Service)提供心跳机制监控集群状态
  • DISK HEARTBEAT
  • NETWORK HEARBEAT
  • CRSD(Clustery Ready Service)提供高可用、干预、关闭、重启、转移服务
  • 资源包括 nodeapps、database-related:前者每个节点只需要一个即可正常工作,后一个与数据库相关,不受节点限制,可以为多个
  • EVMD: 这个进程负责发布 CRS 产生的各种事件,还是 CRS 和 CSS 两个服务之间通信的桥梁
  • RACGIMON: 这个进程负责检查数据库健康状态,包括数据库服务的启动、停止和故障转移。属于持久连接,定期检查 SGA
  • OPROCD(Process Monitor Daemon)检测 CPU hang(非 Linux 平台使用)

 RAC 的并发控制

DLM 分布式锁管理。

  1. Non-Cache Fusion 资源:包括数据文件、控制文件、数据字典视图 、Library Cache、Row Cache
  2. Cache Fusion 资源:包括普通数据块、索引数据块、段头、UNDO 数据块。
  3. GRD(Global Resource Directory):记录每个数据块在集群间的分布图,在SGA中分master node与shadownode
  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 层定期通信。
  5. 两种心跳机制:网络心跳和控制文件磁盘心跳 3S 一次。
  6. DIAG:监控状态,写日志 alert.log
  7. GSD:为用户提供管理接口。

RAC 重构触发条件

(一) NM(NODE MANAGEMENT)group

(二) 重构集群触发:有 node 加入或者离开集群,由 NM 触发 Network Heartbeat 异常:因为 LMON 或者 GCS、GES 通信异常 ,由 IMR(Instance Membership Reconfiguration)controlfile heartbeat 触发。