加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【Oracle之RAC介绍】

发布时间:2020-12-12 14:28:42 所属栏目:百科 来源:网络整理
导读:RAC是real application clusters的缩写, 译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。 数据库系统和其他数据管理很重要的一个区别就是 允许并发访问 最大挑战是 数据不
RAC是real application clusters的缩写,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。 数据库系统和其他数据管理很重要的一个区别就是 允许并发访问
最大挑战是 数据不一致
如何保证并发和数据一致是数据库系统的核心 并发访问和数据一致性:
数据不一致的情况
1 脏读
2 不可重复性
3 幻影读
4 数据一致性
事务和隔离级别
四种数据一致性级别:隔离级别
read uncommited:不希望“写”阻塞“读”。
read committed:允许“写”阻塞“读”
repeatable: 目的是避免“不可重复读”和“丢失数据”
seralizable: 保证用户以独占方式访问数据
Oracle支持的隔离界别:read committed,seralizable,Read Only



为了便于学习和理解,将RAC环境分为 存储层、网络层、集群层、应用层 4层来分别学习。

存储层
由SAN组成的存储层,由于RAC架构是共享存储,常规场景下只需要有一个存储。
但如果预算充足,为了进一步提高可用性,我们完全可以在存储层考虑使用2个存储,在存储层构建一个存储层面的集群。比如使用EMC的vplex,HDS的GAD(Global-Active Device)等。
这种存储级别的集群,在extended RAC架构中很常见。这一块基本都偏向于底层存储层面的知识,与RAC本身关系不大,不再多说。

网络层
public IP:集群各节点真实IP地址,和其他应用服务器连接在一个交换机上。
10g RAC VIP:在Public IP所在网卡上绑定一个VIP。
优点是:VIP是浮动的,使用VIP,可以避开对TCP协议栈超时的依赖。
11g RAC SCAN IP:在 VIP 基础上 再引入的scan IP,也有对应的scan IP的监听。
优点是:使用scan IP配置客户端连接,以后集群内部添加删除节点,不需改动客户端的tns配置。

private IP:集群内部互联IP,大数据量、低延迟要求,预算低用G级以太网,预算高用infiniband。
网络心跳(Network Heartbeat)使用这个private IP网络。
缓存融合(Cache Fusion)也是通过这个private IP网络进行传输。

集群层
集群层是在OS kernel和应用之间的一层。用来统一协调集群内各节点正常调度有序工作。
10g RAC 通过Oracle Clusterware来实现这一层的功能。
11g RAC 改名clusterware为GI。
GI除了名字上的不同,还有很多改变,比如将ASM安装的集成到GI中,比如GI的安装一般建议单独用户(grid)安装,而之前clusterware一般都是和数据库在同一用户(oracle)安装的等等,可以简单认为GI比clusterware更加完善细化了。

应用层
应用层是指在集群件之上的具体应用和资源。
RAC 按照用途主要把应用层分为2大类:nodeapps(节点应用) 和 database-related resource(数据库资源)。
nodeapps:GSD、ONS、VIP、Listener等。
database-related:Database、Instance、Service等。



RAC中的特点是:

每一个节点的instance都有自己的SGA

每一个节点的instance都有自己的background process

每一个节点的instance都有自己的redo logs

每一个节点的instance都有自己的undo表空间

所有节点都共享一份datafiles和controlfiles

还提出了一个缓存融合的技术(Cache fusion)

目的有两个

01.保证缓存的一致性

02.减少共享磁盘IO的消耗

因此在RAC环境中多个节点保留了同一份的DB CACHE

缓存融合(Cache fusion)工作原理:

****************************************

01.其中一个节点会从共享数据库中读取一个block到db cache中

02.这个节点会在所有的节点进行交叉db block copy

03.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改

04.为了达到存储的一致最终修改的结果也会写到磁盘上

ClusterWare组件

*******************

四种Service

Crsd -集群资源服务

Cssd - 集群同步服务

Evmd - 事件管理服务

oprocd - 节点检测监控

三类Resource

VIP - 虚拟IP地址(Virtual IP)

OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息

Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。

RAC的组件

************

提供过了额外的进程,用来维护数据库

LMS - Global Cache Service Process 全局缓存服务进程

LMD - Global Enqueue Service Daemon 全局查询服务守护进程

LMON - Global Enqueue Service Monitor全局查询服务监视进程

LCK0 - Instance Enqueue Process 实例队列进程


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读