Oracle ASM进程


自动存储管理后台(Automatic Storage Management Background,ASMB)进程:ASMB进程在使用了ASM的数据库实例中运行。它负责与管理存储的ASM实例通信,向ASM实例提供更新的统计信息,并向ASM实例提供一个"心跳",让ASM实例知道它还活着,而且仍在运行。

生新平衡(Relalance,RBAL)进程:RBAL进程也在使用了ASM的数据库实例中运行。向ASM磁盘组增加或去除磁盘时,RBAL进程负责处理重新平衡请求(即重新分布负载的请求).

以下进程出现在Oracle RAC实例中。RAC是一种Oracle配置,即集群中的多个实例可以装载和打开一个数据库,其中每个实例在一个单独的节点上运行(通常节点是一个单独的物理计算机).这样,你就能有多个实例访问(以一种全读写方式)同样的一组数据文件。RAC的主要目录有两个:

高度可用性:利用Oracle RAC,如果集群中的一个节点/计算机由于软件、硬件或人为错误而失败,其他节点可以继续工作,还可以通过其他节点访问数据库。你也许会丧失一些计算能力,但不会因此而无法访问数据库。

可扩缩性:无需购买更大机器处理越来越大工作负载(这称为垂直扩缩),RAC允许以另一种方式增加资源,即在集群中增加更多的机器(称为水平扩缩).举例来说,不必把你的4CPU扩缩为有8个或16个CPU,通过利用RAC,你可以选择增加另外一个相对廉介的4CPU机器(或多台这样的机器).

以下进程是RAC环境所特有的,如果不是RAC环境,则看不到这些进程.

锁监视器(Lock monitor ,LMNO)进程:LMON监视集群中的所有实例,检测昌否有实例失败。这有利于恢复失败实例持有的全局锁。它还负责在实例离开或加入集群时重新配置锁和其他资源(实例失败时会离开集群,恢复为在线时又会加入集群,或者可能有新实例实时地闸到集群中)。

锁管理器守护(Lock manager daemon,LMD)进程:LMD进程为全局缓存服务(保持块缓冲区在实例间一致)处理锁管理服务请求。它主要作为代理(broker)向一个队列发出资源请求,这个队列由LMSn进程处理。LMD会处理全局死锁的检测/解析,并监视全局环境中的锁超时。

锁管理器服务器(Lock manager server,LMSn)进程:前面已经提到,在一个RAC环境中,各个Oracle实例在集群中的不同机器上运行,它们都以一种读写方式访问同样的一组数据文件。为了达到这个目的,SGA块缓冲区缓存相互之间必须保持一致。这也是LMSn进程的主要目标之一。在以前版本的Oracle并行服务器(oracle parallel server,OPS)中,这是通过ping 实现的。也就是说,如果集群中的一个节点需要块的一个读一致视图,而这个块以一种独占模式被另一个节点锁定,数据的交换就要通过磁盘刷新输出为完成(块被ping)。如果本来只要读取数据,这个操作(ping)的代价就太昂贵了。现在则不同,利用LMSn,可以在集群的高速连接上通过非常快速缓存到缓存交换来完成数据交换。每个实例可以有多达10个LMSn进程。

锁(Lock,LCK0)进程:这个进程的功能与前面所述的LMD进程非常相似,但是它处理所有的全局资源的确请求,而不只是数据库块缓冲区的请求。

可诊断性守护(Diagnosability daemon,DIAG)进程:DIAG只能用于RAC环境中。它负责监视实例的总体"健康情况",并捕获处理实例失败时所需的信息。

相关内容