RAC,全称real application clusters,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术
在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备.
逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层(communication layer)来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cacheI
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 - Gobal Cache Service Process 全局缓存服务进程
LMD - Global Enqueue Service Daemon 全局查询服务守护进程
LMON - Global Enqueue Service Monitor全局查询服务监视进程
LCK0 - Instance Enqueue Process 实例查询进程
Oralce RAC监听原理 简介
RAC1 RAC2 都需需要配置监听,各自监听自己的 实例;
客户端使用SERVER的虚拟IP配置2个监听地址;
为什么使用虚拟地址?
监听地址使用 VIP(如果没有vip,连接失败节点的process会有一个比较长的tcp超时等待,才能返回错误,有了vip后,节点失效后,由于vip漂移到其它节点,连接该vip的process很快就能返回错误,从而更快的尝试连接其它活动的节点)
客户最终连接到哪个INSTANCE?
如果客户端没有指定连接到哪个实例则 决定分配到哪个实例由以下2个设置决定:
Client-Side Load Balancing(CLB):
由客户端tnsname.ora配置
Server-Side Load Balancing(SLB)
==================
情况1:客户设置CLB后 ,随机请求一个INSTANCE,该实例所在服务器端(默认都会设置SLB)的监听根据该实例PMON进程返回的所有INSTANCE目前情况(session数或elipse tiime)决定导向用户到哪个INSTANCE的监听。
情况2:客户没有设置CLB,则只请求的第一个ADDR 节点,软如果监听没有响应 会导致TIMEOUT错误。
=================
如果使用DBCA创建RAC默认已经设置 SLB,有2中SLB可设置:
Short—Connections are distributed across instances based on the elapsed time
under the service. Use the Short connection load balancing goal for applications
that have connections of small duration.
■ Long(默认 适合连接池或者报表)—Connections are distributed across instances based on the number of
sessions per instance, for each instance that supports the service. Use the Long
connection load balancing goal for applications that have connections of long
duration. This is typical for connection pools and SQL*Forms sessions. Long is the
default connection load balancing goal.
---
可以在客户端TNS文件配置 实现连接到特定某个INSTANCE(sunny2)
SUNNY67 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 142.100.14.69)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 142.100.14.70)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sunny)
(instance_NAME = sunny2)
)
)
In an Oracle RAC database, client connections should use both types of connection
load balancing. When you create an Oracle RAC database using Oracle Database
Configuration Assistant (DBCA), DBCA configures and enables server-side load
balancing by default.
分享到:
相关推荐
### Oracle RAC 功能测试方案详解 #### 一、引言 Oracle Real Application Clusters (RAC) 是一种高可用性、高性能的企业级数据库解决方案。本文档旨在提供一个全面的Oracle 11g RAC安装后的功能测试方案,主要包括...
Oracle RAC 项目实施方案 Oracle RAC(Real Application Clusters)是 Oracle 公司的一种集群解决方案,旨在提供高可用性和高性能的数据库解决方案。在生产环境下实施 Oracle RAC 需要进行详细的规划和实施本文将...
### Windows平台Oracle RAC集群安装过程详解 #### 引言 在企业级应用环境中,为了提高数据处理能力和系统的高可用性,Oracle Real Application Clusters (RAC) 成为了一种热门选择。尤其在Windows平台上部署Oracle...
### Oracle RAC重启操作手册知识点解析 #### 一、准备工作 **知识点1:确认应用程序状态** - **背景**: 在进行任何重启操作之前,确保所有的应用程序都已经停止是非常重要的一步。 - **目的**: 避免在数据库重启...
实验环境为虚拟机软件 Oracle VirtualBox 4.3.8、数据库软件Clusterware 10.2.0.1+database 10.2.0.1、数据库名称 OracleRAC、节点 SID OracleRA1 OracleRA2、节点主机名 rac1 rac2,对应虚拟机名称 CentOS_Oracle_2...
标题《Understanding Oracle RAC Internals - The Cache Fusion Edition》涉及的主题是Oracle RAC内部机制,特别是Cache Fusion技术。Oracle RAC(Real Application Clusters)是Oracle数据库的一个重要特性,它允许...
Oracle RAC 12c 运维最佳实践指南 Oracle RAC 12c 是一种高可用、高性能的集群解决方案,旨在实现数据库的高可用性和可扩展性。本文将对 Oracle RAC 12c 运维最佳实践指南进行解读,总结出相关的知识点。 一、 ...
Oracle RAC 12c是Oracle数据库的集群版本,全称是Oracle Real Application Clusters。它允许在多个计算机之间分布数据和负载,提供了高可用性、可扩展性和灵活性。RAC技术是Oracle数据库12c版本中提供的一项关键特性...
Linux 常用命令 oracle rac 中文手册 官网翻译 oracle rac
Oracle RAC(Real Application Clusters)是Oracle数据库的一项高级特性,它允许多个实例同时访问同一个物理数据库,从而实现高可用性和负载均衡。在Oracle RAC核心技术详解中,我们将深入探讨RAC的工作原理、架构、...
【华为云ECS ORACLE RAC 11.2.0.4 安装指导】 在当前技术环境中,由于去IOE(IBM、Oracle、EMC)的趋势,许多国内企业正考虑替换Oracle数据库,转而使用国产数据库或云计算平台上的数据库服务。然而,将Oracle RAC...
Oracle RAC(Real Application Clusters)集群是一种高可用性解决方案,它允许多个实例同时访问同一个数据库,确保在单个节点故障时数据的连续性和一致性。归档日志是Oracle数据库的重要组成部分,它们记录了自上次...
Oracle RAC部署环境的准备过程中,YUM源的配置是一个至关重要的步骤,因为这直接影响到软件包的安装和系统的稳定性。YUM(Yellowdog Updater, Modified)是Linux系统中用于管理和更新软件包的工具,它能自动解决...
Oracle RAC(Real Application Clusters)是Oracle数据库的一种高可用性解决方案,允许多个数据库实例同时访问同一物理数据库,提供故障切换和负载均衡能力。在部署Oracle RAC环境时,操作系统的选择和配置是至关...
### Oracle RAC:数据库集群的优缺点解析 Oracle RAC(Real Application Clusters)是Oracle数据库的一种集群技术,旨在提供高可用性和可扩展性。它允许多个数据库实例同时访问同一份数据,从而实现了资源的共享和...
### 在VMware vSphere ESXi上安装Oracle RAC #### 一、引言 本文旨在为Oracle数据库管理员提供一份详尽的手册,介绍如何在VMware vSphere ESXi平台上安装和配置Oracle Real Application Clusters (RAC)。通过本手册...
Oracle RAC Cache Fusion 介绍 Oracle RAC Cache Fusion 是一种高效的缓存机制,在 Oracle Real Application Clusters (RAC) 环境中, 实现多个节点对数据的并发访问和修改。Cache Fusion 的要点包括高速私有网络、...
资源名称:深入理解Oracle RAC 12c内容简介:《深入理解Oracle RAC 12c》介绍了Oracle RAC 12c技术的方方面面,涵盖了与RAC技术相关的集群件知识、数据库知识、存储知识、网络知识,并在基于RAC的应用软件设计、优化...
Oracle Real Application Clusters(RAC)是Oracle数据库软件的一个高可用性和高性能集群解决方案,它允许多个数据库实例共同访问同一个数据库。VMware vSAN(Virtual SAN)是VMware公司提供的软件定义存储解决方案...