本文首先简要介绍了RAC的原理,随后着重详细叙述了如何在一台PC电脑上,使用VMware构建两台RedHat Linux AS3(以下简称AS3),并虚拟一个共享存储,创建裸设备,最后在实现RAC的搭建。
1.RAC简介
简单来说,RAC就是位于多个主机(通常都称为节点)上的多个oracle实例同时管理一个数据库。数据库必须放在共享存储设备上,包括数据文件、控制文件、联机日志以及spfile都必须放在共享存储上,这样每个节点才能同时访问存储设备。每个节点之间通过高速光纤互相连接,并同步内存数据。oracle在管理不同实例里的内存里的数据结构,同时要最大程度的降低I/O,引入了全局缓冲服务(GCS:Global Cache Service),同时还引入了全局锁定服务(GES:Global Enqueue Service)用来在不同节点之间通讯时进行同步管理。这些服务都是通过一组特殊的后台进程完成的,这些后台进程主要包括:
(1)global cache service processes(LMSn):n从0到9,具体由信息传输的数量决定。用来控制信息到其他实例的流向,同时还管理对全局数据块的访问。LMSn进程同样在不同实例的数据块缓存(buffer cache)里传递数据库镜像(block image)。该进程是Cache Fusion特性的一部分。
(2)global enqueue service monitor(LMON):监控全局锁定(global enqueues)及其资源,并提供global enqueues资源的恢复操作。enqueues是用来进行串行化行更新的共享的内存结构。
(3)global enqueue service daemon(LMD):管理对全局锁定(global enqueues)以及全局资源的访问。在每个实例中,LMD进程对传入当前实例的对其他资源的访问请求进行管理。
(4)lock process(LCK)管理non-Cache Fusion资源的请求,比如library cache或row cache的请求。
(5)diagnosability daemon(DIAG):获得实例中有关进程失败的诊断信息。该daemon的操作是自动的,并且它会更新alert<SID>.log文件,以记录它所做的动作。
注意:cache fusion表示一种在RAC里的非磁盘交互方式的内存同步机制。该机制使得获得block的实例能够将block直接从内存转移到需要该bloc
| 相关热词搜索 |
