1.GSD global services daemon GSD与rac的管理工具dbca srvctl oem进行交互,用来完成实例的启动关闭等管理任务。为了保证这些管理工具运行正常必须在所有的节点上先start gsd,并且一个GSD进程支持在一个节点的多个rac.gsd进程位于$ORACLE_HOME/bin目录下,其log文件为$oracle_home/srvm/log/gsdaemon.log 例如: 假设使用oem工具来启动一个实例,oem把该任务传递给相应的智能引擎,该智能引擎生成一个包含SRVCTL命令的脚本文件,GSD进程读取该脚本文件并且执行该脚本,最后GSD把 执行结果返回给智能引擎,近而智能引擎返回给OEM.又例如假设使用srvctl工具关闭所有的实例,GSD进程接受来自SRVCTL工具发出的请求,并在本地节点上执行该请求,然后把执行结果返回给SRVCTL会话。 2.LMON:GLOBAL ENQUEUE SERVICE MONITOR LMON主要监测群集内的全局队列和全局资源,管理实例和处理异常并相应的群集队列进行恢复操作。监控全局锁定(global enqueues)及其资源,并提供global enqueues资源的恢复操作。enqueues是用来进行串行化行更新的共享的内存结构。 LMD进程主要管理对全局队列和资源的访问,并更新相应队列的状态,处理来自于其他实例的资源请求。每一个全局队列的当前状态存储在相应的实例共享内存中,该状态表明该实例具有相应的权利使用该资源。一个实例(master)的共享内存中存在一个特殊的队列,该队列纪录来自其他远程实例的资源请求,当远程实例的LMD进程发出一个资源请求时,该请求指向master实例的LMD,当master实例的LMD进程受到该请求后,在共享内存中的特殊队列中监测该资源是否无效,如果有效则LMD进程更新该资源对列的状态,并通知请求资源的LMD进程该资源队列可以使用了,如果资源队列正在被其他实例使用或者当前无效,则LMD进程通知正在使用中的实例的LMD进程应该释放该资源,等资源释放变得有效时,MASTER实例的LMD进程更新该资源队列的状态并通知请求资源实例的LMD进程该资源队列可以使用了。另外LMD进程也负责队列的死锁问题。。。 4.LMSn:GLOBAL CACHE SERVICE PROCESS(n 0~9) LMS进程主要用来管理集群内数据块的访问,并在不同实例的BUFFER CACHE中传输块镜像。LMS进程跨集群管理数据库的请求,并保证在所有实例的BUFFER CACHE中一个数据块的镜像只能出现一次。LMS进程靠着在实例中传递消息来协调数据块的访问,当一个实例请求数据块时,该实例的LMD进程发出一个数据块资源的请求,该请求只向MASTER数据块的实例的LMD进程,MASTER实例的LMD进程同时正在使用的实例的LMD进程释放该资源,这时拥有该资源的实例的LMS进程会创建一个数据块镜像的一致性读,然后把该数据块传递到请求该资源的实例的BUFFER CACHE中。LMS进程保证了在每一时刻只能允许一个实例去更新数据块,并负责保持该数据块的镜像纪录(包含更新数据块的状态FLAG),RAC提供了10个LMS进程,该进程数量随着节点间的消息传递的数据的增加而增加。 5.lock process(LCK) LCK进程主要用来管理实例间资源请求和跨实例调用操作,调用操作包括数据字典等对象的访问;并处理非CACEH FUSION的CHACE资源请求(例如:DICTIONARY CACHE或row cache的请求) 6.DIAG:DIAGNOSABILITY DAEMON DIAG进程主要用来捕获实例中失败进程的诊断信息,并生成相应的TRACE文件(该trace文件保存在backupground_dump_dest/cdmp_timestamp目录下),该进程不需要进行配置更不应该被停止。该进程自动启动不需要进行调整,如果该进程失效则自动重新启动。 7、Operating System-Dependent(OSD): 是指依赖操作系统的一些参数、软件等。RAC通过操作系统相关的软件来访问操作系统和一些于CLUSTER相关的服务进程。OSD软件可能由Oracle提供(windows平台)或由硬件厂商提供(unix平台)。 OSD包括三个自部分: The Cluster Manager(CM):集群监视器监视节点间通信,并通过interconnect来协调节点操作。同时还提供CLUSTER中所有节点和实例的统一视图。CM还控制CLUSTER的成员资格。 The Node Monitor(节点监视器):节点监视器提供节点内各种资源的状态,包括节点、interconnect硬件和软件和共享磁盘等。 The Interconnect。 8、Real Application Cluster Shared Disk Component: RAC中这部分组件和单实例Oracle数据库中的没有什么区别。包括一个或多个控制文件、一系列联机重做日志文件、可选的归档日志文件、数据文件等。 在RAC中使用服务器参数文件会简化参数文件的管理,可以将全局参数和实例特定的参数存储在同一个文件中。 9、Real Application Cluster-Specific Daemon and Instance Processes: 包含两部分: The Global Service Daemon(GSD):在每个节点上都运行一个全局服务后台进程,用于接收客户端如DBCA、EM等发出的管理消息,并完成相应的管理任务,比如实例的启动和关闭。 RAC中特别的实例进程: Global Cache Service Processes(LMSn):控制到远端实例的消息的流量,管理全局数据块的访问。还用于在不同实例的缓冲区之间传递BLOCK的映射。 Global Enqueue Service Monitor(LMON):监视全局队列和集群间的资源交互,执行全局队列的恢复操作。 Global Enqueue Service Daemon(LMD):管理全局队列和全局资源访问。对于每个实例,LMD管理来自远端的资源请求。 Lock Processes(LCK):管理除Cache Fusion以外的资源请求,比如library和row cache的请求。 Diagnosability Daemon(DIAG):在实例中捕获进程失败的诊断数据。 10、The Global Cache and Global Enqueue Service: 全局缓存服务(GCS)和全局队列服务(GES)是RAC的集成组件,用于协调对共享数据库和数据库内的共享资源的同时访问。 GCS和GES(它们都是基本的RAC进程)发挥了关键作用。GCS确保数据的单个系统图像,即使数据被多个实例访问。GCS和GES是实时应用集群的集成组件,它们协调对共享数据库的同时访问,还协调对数据库和数据��缓存内共享资源的同时访问。GES和GCS共同维护全局资源目录(Global Resource Directory,GRD)来记录有关资源和队列的信息。GRD保存在内存中,存储在所有实例上。每个实例都管理部分目录。分布式特性是RAC容错的关键点。协调共享缓存服务器内的并发任务称为同步。同步使用私有互连和大量消息传输。下面这些类型的资源需要同步:数据块和队列。GCS整体维护数据块模式,并负责实例间的数据块传输。LMS进程处理GCS消息,并完成大多数GCS处理。队列是一种共享内存结构,它串行化对数据库资源的访问。它可以是局部的,也可以是全局的。Oracle在3种模型中使用队列:①空(N)模式;②共享(S)模式;③独占(X)模式。数据块是读写入和读写出缓冲器的基本结构。它通常是最经常被请求的资源。GES维护或处理字典缓存、库缓存、事务锁定和DDL锁定的同步。换句话说,GES管理队列而不是数据块。为了同步访问数据字典缓存,需要在独占模式和单节点集群数据库中使用闩锁。在集群数据库缓存中使用全局队列。 GCS和GES包括以下特性: 应用透明性; 分布式结构的全局资源目录:只要还存在一个节点,即使出现一个或多个节点失败,GCS和GES仍然可以保证全局资源目录的完整性; 资源控制:GCS和GES会选择一个实例来管理所有的资源信息,这个实例叫做resource master。GCS和GES会根据数据访问方式阶段性的评估和修改resource master。这种方式会减少网络流量和资源获取时间; GCS和GES与CM之间的交互:GCS和GES独立于CM。但同时GCS和GES依赖于CM提供的各个节点上实例的状态信息。一旦无法取得某个实例的信息,则Oracle会马上关闭没有响应的实例,来保证整个RAC的完整性 |
RAC后台进程说明
最新推荐文章于 2024-03-20 08:51:39 发布
RAC后台进程说明
2011-06-09 23:44