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

本文是Oracle RAC的学习笔记,涵盖了集群理论基础,如集群组成、节点通信与仲裁机制,以及Oracle Clusterware的核心进程和作用。重点讨论了Oracle RAC的原理,包括存储层、网络层、集群层和应用层的设计,以及Oracle Clusterware的磁盘文件、后台进程和网络元素。此外,还介绍了Oracle RAC的数据库基本原理,如并发控制、锁机制和SQL执行过程,以及RAC环境下的并发控制策略和架构特点。
摘要由CSDN通过智能技术生成

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

  • 1.集群相关理论概述
  • 2.Oracle Clusterware
  • 3.Oracle RAC 原理

写在前面:
最近一直在看张晓明的大话Oracle RAC,真实感受就是学到很多之前自己都没深入思考研究过的知识点,现在趁着节前头脑尚清醒,再结合实际工作中自己曾遇到的一些案例,就把这段时间自己学到的东西总结一下。

1.集群相关理论概述

一个集群(cluster)由2个或多个节点(nodes)组成。一般集群对外都会有统一的服务接口(集群地址),对内需要(集群内部通信)不断确定集群内部节点可用,一旦发生异常,可以通过(集群仲裁)驱逐问题Partition,使得集群能够不影响整体对外提供服务。

集群系统的设计一般都需要考虑2个经典问题:健忘和脑裂。

健忘:集群的配置文件,集群中各节点需要保证集群配置文件的一致性;
Oracle Clusterware集中记录这些信息到OCR,且整个集群只保留一份配置,各节点共用这份配置,解决了健忘的问题。
脑裂:集群内节点心跳通信故障时,集群需要决定具体哪个partition被踢出集群。
Oracle Clusterware采用两种心跳机制:网络心跳和磁盘心跳;当通过私有网络的网络心跳故障,需要使用voting disk的磁盘心跳来仲裁Partition剔除。
脑裂问题紧接着还涉及一个IO Fencing问题,即需要保护数据不被故障节点所修改破坏。RAC使用oprocd进程实现IO Fencing。

为了便于学习和理解,将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除了名字上的不同,还有很

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值