最大挑战是 数据不一致
如何保证并发和数据一致是数据库系统的核心
数据不一致的情况
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 实例队列进程
相关推荐
Oracle 19C RAC 搭建部署详解 Oracle 19C RAC 搭建部署是数据库管理系统中的一种高可用性解决方案,能够提供高性能和高可用性的数据库服务。下面将对 Oracle 19C RAC 搭建部署的详细信息进行说明和分析。 1. 硬件...
下面将详细介绍 ORACLE 12C RAC 主库配置单实例 ADG 的知识点。 一、ORACLE RAC 概述 ORACLE RAC(Real Application Clusters)是一种集群解决方案,旨在提供高可用性和可扩展性。RAC 可以将多个服务器集群到一起...
Oracle 12c Real Application Clusters (RAC) 是一种高可用性和可伸缩性的数据库解决方案,它允许多个服务器实例同时访问同一个数据库,提供故障切换和负载均衡能力。以下是对Oracle 12c RAC在ESXi平台安装过程中的...
Oracle 19c RAC (Real Application Clusters) 和 RACDG (Data Guard) 是企业级数据库解决方案,用于实现高可用性和灾难恢复。RAC允许多个实例同时访问同一个数据库,而RACDG则提供了主库与备库之间的数据保护。 在...
主要内容概要:提供了一份非常详细的Oracle 12.2 RAC系统升级到19C RAC的具体实施方案。文中详细阐述了准备工作如目录规划、软件备份、运行干运行为以及Grid软件和数据库的升级步骤等,有助于保障整个迁移项目的成功...
资源规划是搭建Oracle+RAC集群的关键步骤之一。在本节中,我们将讨论云网络资源规划、云硬盘资源规划和云主机资源规划。 云网络资源规划 在基于天翼云ECS搭建Oracle+RAC集群时,需要规划云网络资源。云网络资源...
在本文中,我们将详细介绍搭建Oracle RAC的过程,包括规划、安装、配置和测试等步骤。 一、规划 在开始搭建Oracle RAC之前,我们需要进行详细的规划,包括IP规划、主机名规划、存储规划等。 1. IP规划:我们需要...
Redhat7.6 Oracle 19C RAC部署手册
本安装手册将详细介绍在安装和配置Oracle 9i RAC时所需的关键步骤和注意事项。 一、系统需求 在开始安装Oracle 9i RAC之前,必须确保硬件和操作系统满足以下要求: 1. 多台服务器:RAC需要至少两台物理服务器,它们...
"Oracle 19c RAC on Linux安装手册" Oracle 19c RAC on Linux安装手册是指在Linux操作系统上安装Oracle 19c RAC(Real Application Clusters)的详细指南。本文档提供了从准备 OS 环境到安装 Oracle 19c RAC 的所有...
Oracle RAC,即Oracle Real Application Clusters,是一种Oracle数据库的高可用性和可扩展性的解决方案。它允许一个单一的数据库实例在多个服务器(也称为节点)上运行,从而提供了极高的数据可用性和容错能力。在...
### Oracle RAC 功能测试方案详解 #### 一、引言 Oracle Real Application Clusters (RAC) 是一种高可用性、高性能的企业级数据库解决方案。本文档旨在提供一个全面的Oracle 11g RAC安装后的功能测试方案,主要包括...
本文是由丰富实际操作经验的OCM大神编写的一篇oracle 12C RAC安装手册,有了它普通的oracle小白也会很快的安装oracle rac。 oracle rac安装手册
* 安装环境介绍:了解 Linux 操作系统的基本知识和 Oracle 12c RAC 的安装要求。 * 数据库安装软件下载:下载 Oracle 12c RAC 的安装软件。 * 主机或虚拟机的准备:准备安装主机或虚拟机,确保其满足 Oracle 12c RAC...
windows server 2016安装oracle19C RAC windows server 2016安装oracle19C RAC windows server 2016安装oracle19C RAC windows server 2016安装oracle19C RAC windows server 2016安装oracle19C RAC
Red Hat Enterprise Linux 7部署Oracle 12c RAC最佳实践 Red Hat Enterprise Linux 7是一个功能强大且稳定的操作系统,对于企业级数据库的部署具有重要意义。Oracle 12c RAC(Real Application Clusters)是Oracle...
### Oracle 9i RAC 管理文档关键知识点解析 #### 一、Oracle 9i RAC 概述 **Oracle 9i Real Application Clusters (RAC)** 是 Oracle 数据库的一种高可用性解决方案,它允许多个数据库实例同时访问同一组数据文件...
ORACLE 12C RAC 到 单机 DG 部署详细过程,遇到任何问题可以留言
本文将以一个具体案例为基础,详细介绍如何通过RMAN将Oracle 19c RAC的备份数据恢复到单实例环境。 #### 准备阶段 1. **环境配置**: - 在目标服务器上配置环境变量,确保与源RAC环境一致。 - 安装相同版本的...