RAC基本原理

什么是RAC?

  多个实例跑在多个服务器上

  一个数据库存放在共享的存储上,所有实例都可以访问

  实例之间通过内联网络交换数据和信息

  共享存储内容:数据文件、REDO、UNDO、控制文件

  参数文件可以共享也可以不共享

RAC架构:

RAC的特点:

  具有普通单节点的特点

  每个节点的实例都有自己的SGA

  每个节点的实例都有自己的后台进程

  每个节点的实例都有自己的REDO LOGS (存于共享上,所有实例都可以访问)

  每个节点的实例都有自己的UNDO表空间

RAC如何容错:

如果一个节点挂掉:

  其他节点读取失败节点的REDO中最后一次检查点之后的信息

  对最后一次REDO里面的所有信息都进行恢复(不管提交还是未提交)

  回滚未提交的事务

RAC后台进程

RAC环境下,实例多出来的进程

  LMS  全局缓存服务进程 gobal cache service process

  LMD 全局查询服务守护进程 global enqueue service daemon

  LMON 全局查询服务监视进程 global enqueue service monitor

  LCK0 实例查询进程 instance enqueue process

DIAG 诊断守护进程 diagnostic daaemon

LMON : (原名:lock monitor process)

  管理全局的锁和资源

  监控全局的锁资源,处理死锁和阻塞

  监控整个集群状态,维护GCS的内存结构

  处理非正常终止的进程和实例

  当实例离开或加入集群时,锁和资源的重新配置

  也被称为 global enqueue service monitor

LMSn : (相对LCK来讲,是全局的内存管理)

  主要用来管理集群内数据块的访问,并在不同实例的BUFFER CACHE 中传输镜像

  当在某个数据库块上发生一致性读时,LMS负责回滚该数据块,并将它COPY到请求的实例上。

  每个RAC节点至少有2个LMS进程

  也被称为GCS (global cache services ) prcoess

LCK (原名:lock process)(相对LMSn 来讲,是一个本地的)

  LCK 进程主要用来管理实例间资源请求和跨实例调用操作,调用操作包括数据字典等对象的访问;

  并处理非CACEH  FUSION 的chace 资源请求(本地的数据字典等)

  由于LMS进程负责主要的锁管理功能,所以每个实例只能一个LCK进程

LMD (lock monitor daemon process)

  LMD进程主要管理对全局队列和资源的访问,并更新相应队列的状态,处理来自于其他实例的资源请求。

  每一个全局队列的当前状态存储在相应的实例共享内存中,该状态表明该实例具有相应的权利使用该资源。

  (管理当你去访问另外一个实例的资源的时候,你需要得到它的授权)

DIAG

  例用对实例的健康进行监控,同时也监控是否挂起或者出现死锁

  收集实例和进程出错时的关键诊断信息

  这个进程会更新alert日志文件,写入一些重要告警信息

RAC本身的进程:

独立的服务CRS  (CRS层是实现RAC构架的具体实现方式)

  CRS 集群资源服务

  CSS 集群同步服务

  EVMD 事件管理服务

  ONS 事件的发布及订阅服务

CRS:cluster ready services

  管理集群内高可用操作的基本程序

  CRS管理的任何事物被称之为资源

    数据库、实例、监听、虚拟IP、应用进程等

  CRS是根据存储于OCR中的资源配置信息来管理这些资源。(OCR相关于注册表的功能)

  当一资源的状态改变时,CRS进程生成一个事件

CSS :cluster synchronization service

  管理集群节点的成员资格

  控制哪个结点为集群的成员,结点在加入或离开集群时通知集群成员来控制集群的配置信息

  此进程发生故障导致集群重启

EVM : event management

  事件管理守护进程

  发布CRS创建事件的后台进程

ONS :oracle notification service

  通信的快速应用通知事件的发布及订阅服务

VIP

  是一个虚拟IP,绑定在某个物理网卡上的。

  应用使用VIP进行连接

  如果RAC某个节点挂掉,它的VIP自动被配置到其他节点上

OCR :oracle cluster registry

  保存RAC集群的各种资源信息DB,instances(rdbms,asm),services ,onde applications(vip,ons,gsd),listener process

  类似Windows 注册表

  存储于共享磁盘上,所有实例共享

  默认有2个互备磁盘

表决磁盘 voting disk

  存储于共享磁盘上,所有实例共享

  用户确定各个实例的关系

  当有节点失效时,通过表决磁盘来决定驱走哪个实例

  默认有3个互备磁盘

RAC基本原理的更多相关文章

  1. Oracle 11G R2 RAC中的scan ip 的用途和基本原理【转】

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  2. Oracle 11G R2 RAC中的scan ip 的用途和基本原理

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  3. Oracle RAC学习笔记01-集群理论

    Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...

  4. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  5. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  6. 利用XAG在RAC环境下实现GoldenGate自动Failover

    概述 在RAC环境下配置OGG,要想实现RAC节点故障时,OGG能自动的failover到正常节点,要保证两点: 1. OGG的checkpoint,trail,BR文件放置在共享的集群文件系统上,R ...

  7. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  8. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...

  9. 使用SwingBench 对Oracle RAC DB性能 压力测试

    我们可以使用swingbench这个工具对数据库性能进行压力测试,得到一些性能指标作为参考. SwingBench下载: http://www.dominicgiles.com/downloads.h ...

随机推荐

  1. hi-nginx-1.4.2发布,多项重要更新

    支持多种编程语言混合开发web应用的通用服务器hi-nginx-1.4.2已经发布了. 此次发布包含多项重要更新: 支持python2和3,通过编译选项--with-http-hi-python-ve ...

  2. 服务器数据恢复_服务器xfs数据丢失数据恢复

    简介:太原一家公司的服务器出现故障,服务器是linux服务器,连接了一台某型号的存储,文件系统为xfs文件系统.管理员使用xfs_repair工具试图对文件系统进行修复但修复失败,linux服务器中所 ...

  3. nyoj 开方数

    开方数 时间限制:500 ms  |  内存限制:65535 KB 难度:3   描述 现在给你两个数 n 和 p ,让你求出 p 的开 n 次方.   输入 每组数据包含两个数n和p.当n和p都为0 ...

  4. [Oracle]undo表空间使用量为100%

    在Toad中发现undo表空间undotbs1使用量已经达到100%,但是奇怪的是数据库并没有hang住,依然可以正常运转 通过Oracle提供的EM查看undotbs1表空间的使用,也达到了78.8 ...

  5. ssh整合之六管理我们的配置文件

    1.我们的ssh搭建已经搭建好了,之前是纯xml方式,而且我们的配置文件,是一个框架一个配置文件.这样的话,配置文件中的内容就会很多,这样以后修改起来也会很麻烦,因        此,我们尝试着把这些 ...

  6. ssm框架找不到mysql驱动类WARN DriverManagerDataSource:107 - Could not load driverClass com.mysql.jdbc.Driver

    找了很久错误,检查了配置文件,和spring配置数据源,都没有发现问题,最后上网查询了下,发现是由于配置文件后面有空格. 去除掉配置文件后面的空格就可以正常运行了.

  7. ccf认证 201709-4 通信网络 java实现

    试题编号:                                                               201709-4 试题名称: 通信网络 时间限制: 1.0s 内 ...

  8. 32位centos6.5 mysql rpm包下载

    查看centos版本号和位数: http://www.cnblogs.com/grey-wolf/p/7472507.html mysql下载: 1.进入https://dev.mysql.com/d ...

  9. 记录项目中用的laypage分页代码

    最终才觉得,好记性不如烂笔头,毕竟已经不是刚毕业时候的巅峰了,精力有所下降,很多时候记不住东西. 参考url:http://www.layui.com/laypage/ 直接上代码了 <scri ...

  10. canvas图像模糊以及图像变形问题

    问题:有时用canvas作图时发现图像会出现模糊不清晰的问题,甚至做出来的图呈现出的效果与我们给的数值所应该呈现出的效果不一致 原因:当你在支持html5 canvas的浏览器下查看页面的时候,can ...