Oracle RAC集群
oracle集群
数据库双机可以有两种不同的方式:双机热备份、双机集群。
双机热备份方式的集群完全通过操作系统的cluster软件来实现,在同一个时刻,只有一台机器对数据库作操作,当这台机器发生故障以后,由操作系统cluster将所有资源切换到两外一个节点,防止单节点数据库故障。
双机集群方式(RAC),在10g以后,通过ORACLE自身提供的CRS来实现集群的功能。
在同一个时刻,所有的机器都对数据库作操作,当某台机器发生故障后,其他机器接管该机器的工作。
这种方式不但能够防止单节点数据库故障,还能够实现负载均衡。
因为两个机器对同一个数据库操作,因此数据库文件一般无法使用传统的文件系统方式存储。
下表列出了两种方式的区别:注一:对于rac方式,在10G以下的版本必须要操作系统cluster的支持+oracle rac选件才能够实现,在10G以后,oracle提供了自身的cluster软件——crs,因此可以在没有操作系统cluster的情况实现RAC方式,但对于文件的存储方式有所限制,下表列出了在rac方式下可以选择的存储方式数据库双机热备方案的原理及实现以下简单说明了双机热备的原理及实现。
⏹双机热备系统又称为Cold Failover,它是oracle 数据库高可用方式的一种。
主要工作方式为主机节点运行,备用节点处于等待状态,当主机节点发生失败的时候,数据库以及虚拟IP 自动漂移到备用节点,完成用户应用透明切换。
切换操作基于操作系统Cluster 控制软件,操作系统负责监控系统的运行状况。
操作系统实现数据库的关闭、切换和启动。
⏹ 方案评价双机热备系统是单实例数据库系统,它的工作方式是一种Shared Nothing 方式,也就是同一时间段,只有一台节点对共享盘阵有操作权。
在发生节点失败时,完成切换。
应用切换对前端用户透明,主机节点失败后用户自动转接入预先定以的备用节点。
此种方式概念以及平台搭建相对简单,易于管理。
但是其主机工作,备机等待的工作方式,造成了此种工作方式对系统资源的一定浪费。
oracle rac集群 crs常用命令
oracle rac集群 crs常用命令常用的crs命令如下:$ORA_CRS_HOME/bin/crs_stat –t此命令主要用来检查crs资源状态例如[oracle@rac2 css]$ $ORA_CRS_HOME/bin/crs_stat -tName Type Target State Host------------------------------------------------------------ora....CL1.srv application ONLINE ONLINE rac1ora....CL2.srv application ONLINE ONLINE rac2ora....TEST.cs application ONLINE ONLINE rac1ora....L1.inst application ONLINE ONLINE rac1ora....L2.inst application ONLINE ONLINE rac2ora.ORCL.db application ONLINE ONLINE rac1ora....SM1.asm application ONLINE ONLINE rac1ora....C1.lsnr application ONLINE ONLINE rac1ora.rac1.gsd application ONLINE ONLINE rac1ora.rac1.ons application ONLINE ONLINE rac1ora.rac1.vip application ONLINE ONLINE rac1ora....SM2.asm application ONLINE ONLINE rac2ora....C2.lsnr application ONLINE ONLINE rac2ora.rac2.gsd application ONLINE ONLINE rac2ora.rac2.ons application ONLINE ONLINE rac2ora.rac2.vip application ONLINE ONLINE rac2[oracle@rac2 css]$$ORA_CRS_HOME/bin/crs_start –all此命令用来启动所有的集群服务,但是启动的前提是资源状态State不能是UNKNOWN。
Oracle 11g RAC维护参考
Oracle 11g RAC维护参考RAC集群,全称Real Application Clusters,译为“实时应用集群”,是Oracle提供的一种高可用、并行集群系统,RAC除了具有高可用能力还有负载均衡能力,整个RAC集群系统由Oracle Clusterware (集群软件)和Real Application Clusters(RAC)两大部分组成。
1硬件环境RAC集群的硬件环境包括主机、共享存储、网络设备。
1.1主机(节点)RAC集群环境中至少有两台主机,也就是两个节点,每个节点配置一样的硬件,至少配置两块物理网卡。
1.2网络设备网卡,每个RAC集群节点上至少配置两块物理网卡。
一块网卡用于集群内部的私有通信,集群节点间数据块的传输都是通过这块网卡,我们称之为私有网卡,IP别名Private IP;另一块网卡用于对外服务,比如数据库的查询等,我们称之为公有网卡,IP别名Public IP。
除此之外,每个节点还有第三个VIP(Virtual IP)的IP。
RAC集群正常运行时,每个节点的VIP会被分配到公有网卡上,当某个节点出现故障宕机时,这个节点的VIP会被移到其它正常运行节点的公有网卡上。
网络交换机,首先,用于连接所有节点的公有网卡以提供对外的数据库服务,其次,用于连接各个节点之间的私有网卡以传递集群节点之间的心跳数据和数据库数据块(Cache Fusion)。
1.3共享存储在RAC集群中,最重要的是共享存储,RAC是一个“多实例、单一数据库”的架构,所有的节点共享一个数据库。
数据文件、联机日志、参数文件、控制文件存放在共享存储上以保证每个节点的实例都能访问。
每个节点安装HBA卡,然后通过光纤线和存储设备连接。
2软件环境RAC集群的软件组成包含:操作系统、集群软件、数据库软件。
2.1操作系统每个节点上所安装的操作系统必须是相同版本的。
2.2集群软件Oracle Clusterware(统称为CRS/Cluster Ready Service)集群软件,负责管理整个集群环境中的硬件资源,并为上层的RAC集群提供基础服务。
RAC简介
RAC真正应用集群简介
RAC集群的逻辑结构 4.CRS资源服务: 我们已经知道Clusterware用于管理RAC集群中多个节
点的各种资源,如与数据库相关的监听器状态,实例 状态,与节点相关的VIP、GSD以及ONS(这三个资源 应用在安装完Clusterware后使用VIPCA来启动),这 些都是CRS管理的资源,这些资源信息会存储在OCR磁 盘上,整个RAC环境只有一份资源信息,这样通过 Clusterwarehouse中的相关进程监控OCR磁盘中资源信 息,从而实现监控这些资源的状态的目的。
RAC真正应用集群简介
RAC集群的逻辑结构 3.共享存储: 我们已经知道RAC集群是具有多个节点的物理
环境,每个节点运行单个实例来访问数据库, 响应用户的请求,为了防止多个实例的操作数 据的不一致性,所以要求多个节点共享存储。 所以在RAC集群中需要将数据文件、控制文件 以及日志文件存储在共享存储介质上,保证整 个RAC环境下只有一个操作数据库。
RAC真正应用集群简介
RAC与Clusterware 单实例环境通过OS内核操作数据文件
RAC是一个集群环境,它使得数据库服务器之间通过称为集群件的软件一起协调 工作,该集群环境提供了“实例”对“数据库”之间的多对的关系,即多个数据 库实例 对应一个物理数据库。多个实例之间的工作通过Clusterware来协调共同操作一个 物理数据库。这个多实例的环境与单实例环境相比提高了系统的吞吐量和可扩展 性,提供了系统的可靠性和负载均衡。
着”, 监控节点健康状态。而ocssd进程就是完成CSS服务的。 (4)crsd后台进程: 在RAC集群环境中,Clusterware集群件要管理和监控注册到OCR中 的各种资源,如gsd,vip,ons以及Listener等应用资源,而crsd进程就 是负责监控这些资源,并在这些资源故障时提供系统的高可用性。 在RAC环境下,这些资源会记录在OCR中,而crsd进程就读取OCR中 存储的资源状态信息来管理资源,如监控资源的运行状态,何时以 及如何重启或关闭这些注册的资源。
ORACLE RAC的五大优势及其劣势
详述Oracle RAC的五大优势及其劣势2012年08月15日00:05it168网站原创作者:刘炳林编辑:王玉圆评论:0条【IT168技术】不同的集群产品都有自己的特点,RAC的特点包括如下几点:·双机并行。
RAC是一种并行模式,并不是传统的主备模式。
也就是说,RAC集群的所有成员都可以同时接收客户端的请求。
·高可用性。
RAC是Oracle数据库产品高可用性的解决方案,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。
·易伸缩性。
RAC可以非常容易地添加、删除节点,以满足系统自身的调整。
·低成本。
能使用较低廉的服务器来实现高可用性、高吞吐量的集群环境,这要比通过对某台高端服务器增加硬件实现高可用性、高吞吐量花费的成本低很多。
·高吞吐量。
随着节点数的增加,整个RAC的吞吐量也在不断增长。
下面详细讨论这五大特点。
一、双机并行RAC是一种充分利用服务器资源的高可用性实现方案,RAC的并行模式实现方式与传统的双机热备实现方式截然不同,图1-4是两者的比较。
如图1-4所示,两个节点在传统的双机热备环境中,始终有一台机器作为备用机,只有当主节点出现问题的时候才会切换到备用机上;如果主机一直没有出现问题,那么备用机始终处于空闲状态,这在资源的利用上以及成本方面都是巨大的浪费。
但RAC是一种并行模式的架构,也就是说,两个节点的集群节点间是一种并行运行的关系,当一台机器出现问题,请求会自动转发到另一台机器,没有任何一台机器作为备用机一直不被使用,这样就充分利用了服务器资源。
同时,传统的双机热备构架在出现问题时,常常需要数分钟的切换时间,而RAC在出现问题时,针对存在的会话只需要数十秒的时间就可以完成失败切换过程,对新会话的创建不会产生影响,在切换时间上也有比较大的优势。
▲图1-4双机热备与RAC并行模式对比二、高可用性RAC是Oracle数据库高可用性解决方案。
第29章 Oracle RAC服务器配置和管理
29.3
安装数据库软件
Oracle Clusterware安装完成后,接下来需要安装的 安装完成后, 安装完成后 是数据库软件. 的数据库安装文件与第28章中 是数据库软件.Oracle RAC的数据库安装文件与第 章中 的数据库安装文件与第 所介绍的单机版的Oracle安装文件相同,但安装的步骤以及 安装文件相同, 所介绍的单机版的 安装文件相同 选项有所差异.用户只需要在节点主机RAC1上安装 上安装Oracle 选项有所差异.用户只需要在节点主机 上安装 11g即可,Oracle通用安装程序会自动把文件复制到集群中 即可, 即可 通用安装程序会自动把文件复制到集群中 其他的所有主机节点上. 其他的所有主机节点上.
如何获得Clusterware Clusterware安装包 29.2.1 如何获得Clusterware安装包
可通过Oracle官方网站 官方网站下载 可通过 官方网站 下载 Clusterware 11g的软件安装包. 的软件安装包. 的软件安装包
安装Clusterware Clusterware的硬件环境要求 29.2.2 安装Clusterware的硬件环境要求
29.2.4 网络配置
Oracle 11g RAC可以支持多个 可以支持多个RAC主机节点,本例仅安装 主机节点, 可以支持多个 主机节点 两个主机结点,主机名分别为rac1和rac2.每台主机都有两张网 两个主机结点,主机名分别为 和 . 卡.
主机 rac1 rac1 rac1 网卡 eth0 eth1 IP地址 172.20.31.111 192.168.0.111 172.20.31.113 用途 rac1的公共网络地址 rac1的心跳网络地址 rac1的数据库服务虚拟地址,不需要在 网卡上设置,安装Clusterware后会自动 启用 rac2的公共网络地址 rac2的心跳网络地址 rac2的数据库服务虚拟地址,不需要在 网卡上设置,安装Clusterware后会自动 启用
ORACLERAC日常管理概述
ORACLERAC日常管理概述一、Oracle RAC简介:Oracle RAC 支持Oracle 数据库在集群上运行真正的应用程序。
此处的真正应用是指RAC 能够支持所有类型的主流商业应用程序。
这包含流行的封装产品,如SAP、PeopleSoft 与Oracle E*Business Suite 等,与自主研发的应用程序,其中包含OLTP 与DSS,与Oracle 有效支持混合OLTP/DSS 环境的独有能力。
Oracle 是唯一提供具备这一功能的开放系统数据库的厂商。
Oracle RAC 运行于集群之上,为Oracle 数据库提供了最高级别的可用性、可伸缩性与低成本计算能力。
假如集群内的一个节点发生故障,Oracle 将能够继续在其余的节点上运行。
假如需要更高的处理能力,新的节点可轻松添加至集群。
为了保持低成本,即使最高端的系统也能够从使用标准化商用组件的小型低成本集群开始逐步构建而成。
Oracle 的要紧创新是一项称之高速缓存合并的技术,它最初是针对Oracle9i 真正应用集群开发的。
高速缓存合并使得集群中的节点能够通过高速集群互联高效地同步其内存高速缓存,从而最大限度地低降低磁盘I/O。
高速缓存最重要的优势在于它能够使集群中所有节点的磁盘共享对所有数据的访问。
数据无需在节点间进行分区。
Oracle 是唯一提供具备这一能力的开放系统数据库的厂商。
其它声称能够运行在集群上的数据库软件需要对数据库数据进行分区。
这关于拥有复杂的数据结构的真正应用程序而言,显得不切实际。
而且也不可能对集群系统进行统一变更。
假如您添加或者删除节点或者存储资源,数据则需要完全重新分区。
二、ORACLE RAC工作原理在一个应用环境当中,所有的服务器使用与管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。
同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。
Oracle RAC集群的简单介绍
Oracle RAC集群的简单介绍一、 Oracle集群体系结构Oracle RAC,全称是 Oracle Real Application Cluster,即真正的应用集群,是Oracle 提供的一个并行集群系统,整个集群系统由 Oracle Clusterware (集群就绪软件)和 Real Application Clusters(RAC)两大部分组成。
oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控节点的运行状态,oracle 数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备上,而共享存储设备可以是 RAW、ASM、OCFS2 等,所有集群节点可以同时读写共享存储。
Oracle RAC 的基本拓扑结构如下所示:由拓扑结构可知:一个 Oracle Rac 数据库有多个服务器节点组成,每个服务器节点上都有自己独立的 OS、ClusterWare、oracle Rac 数据库程序等,并且每个节点都有自己的网络监听器。
ClusterWare 是一个集群软件,主要用于集群系统管理,oracle Rac 数据库程序用于提供 oracle 实例进程,以供客户端访问集群系统,监听服务主要用于监控自己的网络端口信息,所有的服务和程序通过操作系统都去访问一个共享存储,最终完成数据的读写。
共享存储的实现方式有很多种,可以通过使用自动存储管理(ASM)、Oracle 集群文件系统(OCFS)、裸设备(Raw)、网络区域存储(NAS)等来保证整个集群系统数据的一致性。
从 Oracle10g 起,Oracle 提供了自己的集群软件,即 Oracle clusterware,它通过 CRS(即 Cluster Ready Services)来实现,这个软件是安装 oracle rac 的前提,也是 RAC 环境稳定运行的基础,在 oracle10g 之前的版本,安装 RAC 时必须借助与第三方的集群软件,而在 oracle10g 以后,安装 oracle rac 时,可以用 oracle 自带的集群软件,也可以使用经过 RAC 认证的第三方集群软件来代替。
Oracle-RAC集群心跳
Oracle-RAC集群⼼跳⼼跳线物理布线注意事项不建议直连⽹线,建议采⽤交换机连接⽅式⼼跳线与业务⽹络分开单独接线若公⽤⼀个交换机时,使⽤VLAN隔离Oracle不⽀持使⽤交叉线(cross-cabling)作为Clusterware的内部连接导致集群不稳定限制了两个节点RAC扩展建议⼼跳交换机使⽤两个交换机做主备,冗余RAC中⼼跳线作⽤承担了⼼跳作⽤(检测集群节点间的⽹络健康状态)缓存同步刷新全局资源维护当出现gc(grid control)的时候,⽤于传输数据块[因内联数据通信量⽐较⼤,建议使⽤千兆或万兆⽹]⼼跳⽹络⾼可⽤实现操作系统层⾯使⽤双⽹⼝绑定的技术实现⾼可⽤双⽹⼝绑定常见有负载均衡和主备模式ORACLE 通过HAIP特性(11.2.0.2)实现⾼可⽤⼼跳⽹络优化建议开启巨帧(Jumbo frame)巨型帧的影响在压⼒较⼤的系统上使⽤帧的Jumbo的好处,这样的系统将使⽤较少的CPU,并减少⽹络开销。
对于RAC互连流量,正确配置为巨型帧的设备可通过减少将⼤型邮件拆分为标准以太⽹的较⼩帧时发⽣的TCP,UDP和以太⽹开销来提⾼性能。
由于可以发送⼀个较⼤的数据包,因此消除了各个较⼩数据包之间的数据包间延迟。
在要求⾼吞吐量和带宽以及系统受CPU约束的情况下,性能的提⾼最为明显。
使⽤巨型帧时,需要较少的缓冲区传输,这是减少IP堆栈中的碎⽚和重组的⼀部分,因此对减少Oracle块传输的延迟有影响。
任何不正确的设置都可能会阻⽌实例启动或对性能产⽣⾮常不利的影响。
Linux环境开启ifconfig eth0 mtu 9000ifconfig -a eth0检测验证ping# a packet size (-s), prohibiting fragmentation (-M do):禁⽌零散数据包ping -c 2 -M do -s 8972 node2-privping -c 2 -M do -s 8973 node2-priv# For Solaris platform, the similar ping command is:ping -c 2 -s node2-priv 8972不是所有的⽹卡都可以开启到9000,如果上⾯ping测试不通的话,可以逐渐的减少。
Oracle RAC 集群 官方文档
/technology/global/cn/pub/articles/hunter_rac11gr1_iscsi.html在Oracle Enterprise Linux 和iSCSI 上构建您自己的Oracle RAC 集群2007 年11 月发表目录Oracle Enterprise Linux 5.0OracleOpenfiler 2.2 (respin 2)ASMLib 2.0 Library - (2.0.3-1)支持文件1. 简介熟悉Oracle 真正应用集群(RAC) 11g技术的最有效方法之一是访问一个实际的Oracle RAC 11g集群。
没有什么方法比直接体验它们能够更好地理解其优势了,包括容错、安全性、负载均衡和可伸缩性。
遗憾的是,对于很多商家而言,典型的生产级RAC 配置所需的硬件投入使它们无法实现这一目标。
一个小型的两节点集群可能需要10,000 美元到20,000 美元以上。
该价格还不包括生产级RAC 环境的核心(通常是一个存储区域网),其起价为10,000 美元。
对于那些没有大笔现金但希望熟悉Oracle RAC 11g的人而言,本指南提供了一种低成本的替代方法来配置Oracle RAC 11g第1 版系统,它使用现成的商用组件和可下载的软件,估计成本在2,200 美元到2,600 美元之间。
该系统包括一个双节点集群(每个节点有一个处理器),这两个节点均运行Oracle 的Enterprise Linux(5.0 版)、Oracle RAC 11g第1 版、OCFS2 和ASMLib 2.0。
Oracle RAC 的所有共享磁盘存储将基于使用网络存储服务器(即Openfiler 2.2 版)的 iSCSI。
本文应与Red Hat Enterprise Linux 一同使用。
如果Red Hat Enterprise Linux 不稳定,Oracle 的Enterprise Linux (免费提供)可以实现这一目标,它包括OCFS2 和ASMLib 软件包(不包括ASMLib 用户空间库,它需要单独下载)。
RAC_集群数据库原理
频繁从一个实例请求访问数据对象中的块,而块的资源主元数据通常位于其 他实例上
6
全局资源恢复
当一个或多个实例但不是所有实例都失败时:
失败的实例资源主元数据将丢失 必须恢复在仍正常运行的实例中具有影子的任何资源主元数据
仍正常运行的实例可以通过从仍然存在的影子元数据为同一资源收集详 细资料来重新生成该特定资源的资源主元数据。
用于内存结构的闩锁或互斥 用于资源控制的入队 用于高速缓存管理的缓冲区高速缓存插销
在 RAC 中,结构和资源可由在任何数据库实例上运行的会话访问或修改。 因此,RAC 需要额外的全局并发控制来协调各个实例间的访问。
全局锁控制库和行高速缓存访问 全局入队控制资源访问 高速缓存融合控制缓冲区高速缓存访问
首先是全局锁和入队元数据,然后是全局高速缓存元 数据。
重新生成将导致每个仍正常运行的实例主控所恢复的 资源主元数据的一部分。
7
全局资源后台进程
ACMS:内存服务的原子控制文件 LMHB:监视 LMON、LMD 和 LMSn 进程 LMD0:请求全局入队和实例锁 LMON:发出脉动并执行恢复 LMSn:处理全局高速缓存融合请求 LCK0:在库和行高速缓存锁定中调用 RCBG:处理全局结果高速缓存失效
Oracle RAC 集群数据库原理
目录
对全局并发控制的需求 全局资源目录 全局资源是如何管理的 RAC 全局资源访问协调
全局入队和实例锁管理 全局缓冲区高速缓存管理
2
对全局并发控制的需求
Oracle 需要并发控制,因为它是一个多用户系统。 单实例 Oracle 提供了以下并发控制:
3
全局资源目录 (GRD)
受制于全局并发控制的一个对象称为一个资源。 资源元数据存储在全局资源目录 (GRD) 中。
ORACLE-11G-R2-搭建RAC集群硬件需求文档
(数据量10亿条,并发量1000个)
配置说明
1
Dell R610两台
2
每台DELL服务器上有两个双端口千兆网卡,一个SAS HBA卡
3
每台DELL服务器内存容量:16GB ECC DDR3
4
每台DELL服务器Xeon E5606 2.13GHz CPU数量:2颗*4核
5
存储设备:Dell MD3200一台,外接主机通道:SAS,单机磁盘数量:12个
进行恰当的RAID配置,平均传输率:6GB/s,硬盘转速:SAS硬盘15000rpm,近线SAS硬盘
6
操作系统版本:Red Hat Enterprise linux5.6
7
Oracle版本:Oracle 11g R2
网络设置说明
192.168.1.252
Openfile1192.168. Nhomakorabea.195
192.168.2.195
Oracle软件组件说明
软件组件
操作系统用户
主组
辅助组
主目录
Oracle基目录/Oracle主目录
Grid Infrastructure
grid
oinstall
asmadmin、asmdba、asmoper
/home/grid
/u01/app/grid
/u01/app/11.2.0/grid
Oracle RAC
oracle
oinstall
dba、oper、asmdba
/home/oracle
/u01/app/oracle
/u01/app/oracle/product/11.2.0/dbhome_1
oracle_rac_12c核心技术原理__概述说明以及解释
oracle rac 12c核心技术原理概述说明以及解释1. 引言1.1 概述Oracle RAC(Real Application Clusters)是一种数据库集群技术,它允许多个数据库实例在同一个集群中运行,共享相同的物理存储。
相比于传统的单实例数据库,在RAC架构下,数据库的可扩展性、可用性和性能都得到了显著提升。
Oracle RAC 12c作为Oracle公司最新推出的版本,带来了更多的创新和改进,为企业提供了更强大的核心技术支持。
本文将对Oracle RAC 12c的核心技术原理进行概述说明和解释。
首先,我们会介绍RAC的基本概念和架构,包括多实例共享存储技术。
接着,我们将详细阐述RAC的部署和配置过程,涵盖安装Oracle Grid Infrastructure、创建RAC 数据库实例以及配置RAC集群环境。
随后,我们将重点关注Oracle RAC 12c 的故障恢复和高可用性机制,包括故障检测和恢复机制、数据保护和冗余机制以及高可用性管理和故障转移技术。
1.2 文章结构本文按照如下结构组织:首先是引言部分,简要介绍了文章的主题和结构;然后是Oracle RAC 12c核心技术原理部分,详细阐述了RAC的概念、架构和多实例共享存储技术;接着是Oracle RAC 12c的部署和配置部分,指导读者如何安装Grid Infrastructure、创建RAC数据库实例和配置集群环境;之后是故障恢复和高可用性机制部分,探讨了故障检测和恢复、数据保护和冗余以及高可用性管理和故障转移等关键内容;最后是结论部分,对文章内容进行总结,并展望Oracle RAC 12c的未来发展,并提出进一步研究的建议。
1.3 目的本文旨在传达对Oracle RAC 12c核心技术原理的深入理解,并提供一份完整的指南,帮助读者了解RAC的概念和架构,并掌握RAC的部署、配置以及故障恢复与高可用性机制。
通过本文的阅读与学习,读者将能够更好地利用Oracle RAC 12c来满足企业对于数据库可靠性、可扩展性以及高性能的需求。
RAC集群简介
对于RAC来说,最重要的还是要理解内部原理和体系结构。
安装不是非常难的事情。
排错和维护都离不开体系结构以及内部原理。
集群分类1、高性能计算计算任务分配到不同计算机节点来提高整体计算能力,主要应用在科学计算领域。
主要利用的是并行计算。
2、负载均衡集群(LB)把业务的负载流量尽可能的平均合理的分配到集群的各个节点上,每个节点都可以处理一部分负载,并且可以根据负载情况进行动态的平衡。
负载均衡算法不是简单的平均,而是根据每个节点的可用资源或网络的特殊情况来进行优化分配。
因此分配+合理才是负载均衡的核心。
3、高可用性(HA)侧重于提高系统的可用性,集成硬件和软件的容错性来实现整体服务的高可用性。
如果某个节点发生故障,另外的节点代替他。
集群环境的特殊问题1、并发控制集群环境中,存在共享存储的问题。
集群中各个节点对共享存储是对等的,所有节点对数据有相同的访问权限,因此需要某种机制来控制节点对数据的访问。
在RAC中,采用的是DLM(Distribute Lock Management)机制来进行实例间的并发控制。
2、健忘症(Amnesia)如果集群环境的配置文件不是集中存放,每个节点都有一个本地副本,集群正常运行的时候,用户可以在任何节点修改集群的配置,并且这些更改都会自动同步到其他节点。
如果节点1因为正常的维护需要关机,节点2修改了配置,然后关闭节点2.启动节点1,因为之前节点2做的配置修改没有同步到节点1,所以将节点1启动以后,他仍然使用旧的配置文件,造成配置丢失。
3、脑裂(split brain)集群中,节点之间需要通过某种机制(心跳)了解彼此的健康情况,以确保各个节点协调工作。
假设只是心跳出现故障,各个节点还在正常的工作,每个节点都认为其他节点宕机,自己是整个集群的唯一健在者,因此需要获得整个集群的“控制权”。
存储是共享的,这就意味着灾难,这种情况就是“脑裂”。
投票算法可以解决这个问题通过表决磁盘判定,获得表决磁盘多得节点将强制另外一个节点重启。
Oracle集群Grid(rac)配置,反推创建过程(重要)。
Oracle集群Grid(rac)配置,反推创建过程(重要)。
⽬前机器上,oracle都是安装好的,那么我们怎么知道,之前的安装过程⼤概是什么样⼦呢?⼤致安装oracle集群的内容:⼀、准备和配置:1、⽹卡2、ip资源3、scanip4、hosts5、dns配置6、准备rac节点,配置节点要互通⾸先要保证⽹络的正常⼆、创建⽤户(grid和oracle⽤户)1、配置系统内核参数2、配置这两个⽤户的环境变量三、配置ASM磁盘1、fdisk 格式化磁盘2、oracleasm3、udev配置磁盘三、安装相关依赖软件包四、安装grid(rac)1、[oracle@shdb02 grid]$su - grid[oracle@shdb02 grid]$cd /orasoft/ora11g/grid[oracle@shdb02 grid]$./runinstaller2、配置scan3、配置hosts4、利⽤asmca静默⽅式或图形⽅式配置磁盘组5、安装集群管理⼯具五、安装Oracle软件1、⽤DBCA创建数据库或静默⽅式(即命令⾏下安装)查看当前linux的模式,命令 runlevel[oracle@shdb02 grid]$ runlevelN 3直接输⼊init + 你想要的模式即可切换模式。
⽐如输⼊: init 0 就是关机init 3 就是切换到多⽤户-命令⾏模式init 5 就是切换到图形化界⾯init 6 就是重启1、关于创建⽤户1、oinstall -G dba oracle 什么意思?-g是组,-G是其他组,最后是⽤户名-g 表⽰为⽤户指定⼀个主group-G 表⽰为⽤户指定⼀个group//这样oracle既属于oinstall组也属于dba组。
平时主要是oinstall组发⽣作⽤。
//创建⼀个⽤户组oinstall:[root@shdb02 ~]# groupadd oinstall//创建⼀个⽤户组dba:[root@shdb02 ~]# groupadd dba//创建⼀个⽤户主⽬录/u01/app/oracle:[root@shdb02 ~]# mkdir -p /u01/app/oracle//创建⽤户oracle 到主组oinstall,副组dba,主⽬录/u01//oracle:[root@shdb02 ~]# useradd -g oinstall -G dba -d /u01/app/oracle oracle//如果oracle⽤户已经存在则:[root@shdb02 ~]# usermod -g oinstall -G dba -d /u01/app/oracle oracle//查看⽤户oracle的添加情况[grid@shdb02 app]$ id oracleuid=1100(oracle) gid=1100(oinstall) groups=1100(oinstall),1101(dba),1102(oper),1201(asmdba)//查看oracle所属的组:[grid@shdb02 app]$ groups oracleoracle : oinstall dba oper asmdba[grid@shdb02 app]$ ll -l /u01/app/total 16drwxr-xr-x 3 root oinstall 4096 May 10201811.2.0drwxr-xr-x 7 grid oinstall 4096 Apr 32020 griddrwxr-xr-x 6 oracle oinstall 4096 Apr 282019 oracledrwxrwx--- 5 grid oinstall 4096 May 102018 oraInventory2、Oracle install为什么需要oinstall ,dba 两个组,⼀个是控制软件安装,补丁安装等的;另⼀个是控制数据库创建,数据库管理等的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
平台的结构化数据采用业内广泛使用的Oracle 数据库管理系统进行存储和管理。
实时视频存储区部署一套RAC 集群,来承载业务处理中心相关业务。
车牌图片和事件存储区部署另一套Oracle RAC 集群来承载计费相关业务,同时为了进一步加强数据容灾,保障数据的安全性,方案通过Oracle Dataguard 工具将该部分数据传送至福建的异地灾备中心。
方案采用了Oracle Rac支持本地业务,是因为Oracle RAC具有很多数据库的高可用性优势所决定的。
1、双机并行。
RAC是一种并行模式,并不是传统的主备模式。
也就是说,RAC集群的所有成员都可以同时接收客户端的请求。
2、高可用性。
RAC是Oracle数据库产品高可用性的解决方案,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。
3、易伸缩性。
RAC可以非常容易地添加、删除节点,以满足系统自身的调整。
4、低成本。
能使用较低廉的服务器来实现高可用性、高吞吐量的集群环境,这要比通过对某台高端服务器增加硬件实现高可用性、高吞吐量花费的成本低很多。
5、高吞吐量。
随着节点数的增加,整个RAC 的吞吐量也在不断增长。
一、双机并行
RAC是一种充分利用服务器资源的高可用性实现方案,RAC 的并行模式实现方式与传统的双机热备实现方式截然不同。
如下图所示,两个节点在传统的双机热备环境中,始终有一台机器作为备用机,只有当主节点出现问题的时候才会切换到备用机上;如果主机一直没有出现问题,那么备用机始终处于空闲状态,这在资源的利用上以及成本方面都是巨大的浪费。
但RAC是一种并行模式的架构,也就是说,两个节点的集群节点间是一种并行运行的关系,当一台机器出现问题,请求会自动转发到另一台机器,没有任何一台机器作为备用机一直不被使用,这样就充分利用了服务器资源。
同时,传统的双机热备构架在出现问题时,常常需要数分钟的切换时间,而RAC在出现问题
时,针对存在的会话只需要数十秒的时间就可以完成失败切换过程,对新会话的创建不会产生影响,在切换时间上也有比较大的优势。
二、高可用性
RAC是Oracle数据库高可用性解决方案。
高可用性包含两部分的内容:首先是在这种解决方案下要确保数据不丢失,这是最基础的也是必须要保证的;其次是确保不停机,使Oracle数据库一直维持在正常的运行状态,避免停机给客户带来的损失,这是讨论最多的内容。
停机一般分为两类,计划停机和非计划停机。
所谓计划停机是有计划地安排节点或者系统的停机,一般在Oracle升级、系统维护或者硬件维护的情况下会出现。
非计划停机就是在非人为计划的情况下突然停机,这种情况一般是在Oracle bug、系统故障、硬件故障或人为操作失败的时候出现。
集群最大的优势在于它的高可用性,通过使用RAC可以在一定程度上避免因为硬件或软件故障引起的数据丢失和非计划停机,并在一定程度上减少或排除计划停机时间。
这是很多客户选择RAC的最直接原因。
RAC中包含了非常多的高可用特性,主要包含如下几点:
·实现节点间的负载均衡。
·实现失败切换的功能。
·通过Service组件来控制客户端的访问路径。
·集群软件能够自动化管理各个资源,并且有定时的节点状态检测机制,能自动对一些失败的进程以及心跳检测失败的节点进行重启,使其重新恢复到正常的运行状态。
三、易伸缩性
RAC为需要重新规划的应用提供了易扩展性。
为了在系统初始阶段保持较低的成本,避免造成不必要的浪费,集群可以按照标准硬件配置,选择适当的服务器资源、存储资源来搭建数据库环境。
当系统需要更多的处理能力或者需要增加存储时,通过添加另一台服务器或存储设备到集群中,能够在不停机的情况下获得水平的扩展。
在一个集群中, Clusterware和RAC支持多达100个集群节点。
当某个集群的处理能力过剩,另一个集群的处理能力不够时,可以从处理能力过剩的集群移动一个节点到处理能力不够的集群中。
这样能够充分利用服务器资源,节约成本。
11gR2版本中推出了网格即插即用(Grid Plug and Play,GPnP),可以实现节点的快速添加。
四、低成本
通过多台服务器组成一个集群,可以提高集群的处理能力,这样要比采用一台高性能的服务器的成本低很多。
如果想提高系统的处理能力,给集群添加节点比为高性能服务器添加硬件要容易得多。
另外,使用集群还能动态地移除节点,更加充分地利用管理者掌握的所有服务器资源,从服务器整体使用上降低了服务器的采购成本。
越来越多的企业愿意将集群解决方案应用到他们的系统中,以降低成本,提高系统的可用性。
五、高吞吐量
RAC是由多台服务器构成的逻辑主体,比单台数据库服务器能接收更多的客户端请求。
这在要求高吞吐量的系统中,能够得到非常明显的体现。
在RAC的架构中,多个实例分布在多个服务器上,能同时打开同一个数据库,而每个实例能够接收相等数量的客户端请求,这样,随着服务器的增加,吞吐量也在不断地增加。
方案采用了Oracle Dataguard进行异地容灾,存储一份本地数据到福建异地灾备中心,进一步保障了数据的安全性,避免了本地数据因意外因素(本地存储损坏、地震、火灾等)丢失造成灾难性事件,对数据形成了可靠性保证,也保障了灾难时候,业务能够顺利切换到灾备中心,保证了业务连续性。
Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。
DataGuard可以提供Oracle数据库的冗灾、数据保护、故障恢复等,实现数据库快速切换与灾难性恢复。
在生产数据库的保证"事务一致性"时,使用生产库的物理全备份创建备库,备库会通过生产库传输过来的归档日志或重做条目自动维护备用数据库。
使用Data Guard技术有如下好处:
1、DG是一种有效的灾难恢复和高可用的解决方案,在主库发生故障时候能够迅速接管。
2、如果主库和备份之间的的连接通信中断,比如网络故障,那么主库的归档日志就不能传送到备库。
一旦主备库之间通信重新连接,那么这些丢失的归档文件就是GAP。
DG 会自动检测GAP,如果发现有GAP,会自动把这些丢失的归档传送到备库,实现主备库的同步,这一切操作都不需要DBA的参与,自动实现。
3、备库平时可以通过“只读方式”打开,进行数据查询使用,部分的查询业务可以迁移到备库,缓解了主生产库的压力。