1.CSS 组管理
组管理主要完成两部分功能:第一种是共享,第二种是隔离。
集群中除了节点之外,还有很多资源是需要管理的,而这些资源会作为一个一个的
组注册到CSS 上,每个组会由若干个成员构成,而且每个组或者组中的一些
成员都要向外共享一些信息。例如,集群中的每一个数据库都会作为一个组注册
到CSS 上,而这个组的主要成员就是LMON进程,当LMON进程被启动的时候,需要把
自己注册到CSS对应的组当中,它才能够知道这个数据库同时有多少个实例在运行。
每个实例运行在那个节点上,对于这种行为,一般称为组共享。当ASM实例启动后,
一些ASM 实例的进程也会构成一个组并且把自己注册到CSS上,同时把自己的信息共享
出去,以便数据库实例能够发现运行的ASM实例,并进行通信,对于这种行为,
称为组间共享。
2.GM中涉及的概念
组:Group/Grock;
一组成员(例如:OS进程,也可能是同一个OS进程,其中有多个能够独立了进行物理IO的线程)
和它们的资源组成的整体。比较典型的例子是一个数据库中的一些服务器进程,这些进程
访问相同的数据库。组分为全局组(组成员来自不同节点),和本地组(组成员在同一节点)。
成员:
能够被独立运行的一个实体。例如OS进程。也可能是同一个OS进程中能够独立进行物理IO
的线程。成员分为主成员和共享成员。其中主成员负责监控集群并在其发生变化时进行相应
的操作。共享成员是主成员的扩展。
GM master:
与NM类似,当组中的某个成员离开或者加入组的时候,也会有一个master节点来完成
组成员的重新配置。
3.组管理-隔离
组管理中另一个重要的功能就是隔离,也就是说,当组中的某一个成员离开的时候,
GM必须确保这个进程在OS级别已经离开,而且进程正在执行的所有IO操作都被清理,
并且不能有新的IO产生,因为对于集群来说,需要在节点间保证IO的一致性,
只有能够独立运行物理IO的进程才会注册CSS;
4.ASM和数据库相关组
磁盘全局组:Disk Group Group Global,DGGG:每个磁盘组都会有对应的DGGG,
ASM 的GMON进程会作为主成员注册进来。如果ASM 实例管理多个磁盘组,GMON
会作为主成员注册到每个DGGG中。
磁盘本地组:
Disk Group Group Local :DGGL:每个磁盘组都会有对应的DGGL,
数据库实例的RBAL进程会作为主成员注册进来。同时这个组会和DGGG的GMON
成员进行信息共享,也就是组间共享。
数据库全局组:Database Group Global :DGG:每个数据库都会有一个全局组,
LMON进程会作为主成员注册进来。
核心前端进程组:Umbilicus Forgroud Group:UFG:这是个本地组,
数据库实例的RBAL 和ASMB 进程会注册进来。