当前位置:  数据库>oracle

Oracle RAC后台进程介绍

    来源: 互联网  发布时间:2017-06-10

    本文导语: 在Oracle RAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的。这篇文章会对RAC特有的进程做一些介绍。 1、LMSn: Global Cache Service Process。 LMSn进程会维护在Global Resource Directory (GRD)中...

在Oracle RAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的。这篇文章会对RAC特有的进程做一些介绍。

1、LMSn: Global Cache Service Process。

LMSn进程会维护在Global Resource Directory (GRD)中的数据文件以及每个cached block的状态。LMSn用于在RAC的实例间进行message以及数据块的传输,这个对应的服务也就是GCS(Global Cache Service),LMS是Cache Fusion的一个重要部分。LMS进程可以说是RAC上最活跃的后台进程,会消耗较多的CPU.一般每个实例会有多个LMS进程,每个Oracle版本的默认的LMS进程数目会有所不同,大部分版本的默认值是:MIN(CPU_COUNT/2, 2))

2、LMD: Global Enqueue Service Daemon。(对应的服务叫GES服务)

LMD 进程主要处理从远程节点发出的资源请求,在多个实例之间协调对数据块的访问顺序,保证数据的一致性访问,大概过程如下:

+ 一个连接发出了global enqueue 请求
+ 这个请求会被发给本节点的LMD0进程
+ 这个前台进程会处于等待状态
+ LMD0会找到这个资源的master节点是谁
+ LMD0会把这个请求发送给master节点
+ 如果需要的话,master节点会增加一个新的master资源
+ 这时从master节点可以获知谁是owner, waiter
+ 当这个资源被grant给requestor后, master节点的LMD0进程会告知requestor节点的LMD0
+ 然后requestor节点的LMD0会通知申请资源的前台进程

GCS服务与GES服务还有GRD共同构成了RAC的Cache Fusion(缓存融合)

缓存融合是RAC内部最复杂的一部分,其中数据块是如何通过private network在实例之间传递,如何控制访问顺序,这些都很复杂,有兴趣的同学可以研究

如上总结LMD主要处理global enqueue 的请求, 而LCK0主要处理本实例的lock.
另外,RAC上的global deadlock 也是由LMD来发现的。

3、LCK0: Instance Enqueue Process。

LCK0进程主要处理非cache fustion的资源请求,比如library 和row cache 请求。

LCK0处理在实例一级的锁:
 Row cache entries
 Library cache entries
 Result cache entries
这些实例级的锁的owner, waiter是LCK0进程。
只要这个实例的锁的owner是LCK0,那么这个实例的任何一个连接都可以使用这种cached的metedata.
如果本地的实例没有拥有这个lock,那么需要申请这个lock,前台进程会等待DFS Lock Handle。
另外,当shared pool出现压力需要释放一些内存来存放新的cursor时,LCK进程会将dictionary cache 的一些内存进行释放。

4、LMON: Global Enqueue Service Monitor。

LMON用于监控整个集群的global enqueues和resources, 而且会执行global enqueue recovery。实例异常终止后,会由LMON来进行GCS内存方面的处理。当一个实例加入或者离开集群后,LMON会对lock和resource进行reconfiguration.也就是说当某个节点出现故障时,LMON负责集群重构,GRD恢复等操作,另外LMON会在不同的实例间进行通讯检查,如果发现对方通讯超时,就会发出节点eviction,所以很多时候节点发生eviction后(ORA-481, ORA-29740等),我们需要查看LMON的trace来了解eviction的原因。

Oracle 11g 在RedHat Linux 5.8_x64平台的安装手册

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

更多详情见请继续阅读下一页的精彩内容:


    
 
 

您可能感兴趣的文章:

  • Oracle数据库后台进程的功能分析
  • ORACLE实例的后台进程
  • Oracle 后台进程初探
  • Oracle 10G进程体系学习笔记
  • oracle查看被锁的表和被锁的进程以及杀掉这个进程
  • 通过进程id号知道一个Oracle会话所占用的内存
  • Oracle SMON进程的操作流程
  • Oracle中最易忽视的两个重要进程
  • 小技巧 Oracle杀死死锁进程问题的解决
  • Oracle数据库进程数与会话数的更改
  • top 显示的%MEM 是什么意思呢?我把这些值加起来超过了100%,这怎么回事呢?(我运行oracle,它的多个进程加起来就超过了。。。)
  • Oracle查看和修改连接数(进程/会话/并发等等)
  • 如何查询占CPU高的oracle进程
  • 探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
  • Oracle技术平台助力数字化城市管理进程
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • Oracle 系统变量函数介绍
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle中SQL语句连接字符串的符号使用介绍
  • Oracle 10g和Oracle 11g网格技术介绍
  • oracle 数据泵导入导出介绍
  • ORACLE数据库常用字段数据类型介绍
  • Oracle解锁的方式介绍
  • Oracle 12c的九大最新技术特性介绍
  • 占用一下,小弟想到深圳发展,有一年JAVA开发经验,熟悉oracle数据库,哪位在深圳的兄弟帮忙介绍个工作,我的QQ:9182647,谢谢了!
  • oracle中UPDATE nowait 的使用方法介绍
  • oracle 创建表空间详细介绍
  • 哪位大哥能介绍一下在redhat7.2下安装oracle9i的过程和细节问题,只要有用,小弟另有送分
  • Oracle中PL/SQL中if语句的写法介绍
  • oracle 重置sys密码的方法介绍
  • Oracle中存取控制介绍
  • oracle中截断表的使用介绍
  • oracle异常(预定义异常,自定义异常)应用介绍
  • oracle sequence语句重置方介绍
  • oracle表空间中空表统计方法示例介绍
  • Oracle round()函数与trunc()函数区别介绍
  • 占用一下,小弟想到深圳发展,有一年JAVA开发经验,熟悉oracle数据库,哪位在深圳的兄弟帮忙介绍个工作,我的QQ:9182647,谢谢了! iis7站长之家
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Oracle EBS R12 支持 Oracle Database 11g


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,