ORACLE RAC 数据库负载均衡方案

合集下载

关于oracle的RAC

关于oracle的RAC

关于oracle的RACsaintfei:从网上搜集的文章集合整理而成,对ora的rac的组件和体系结构有了基本的认识。

下面为个人总结归纳:实例概念一组进程和对应的数据结构数据库是一个箱子,实例相当于机械手一台机器上一个库只能对应一个实例Rac一个库多个实例,并行。

每个实例运行在一个物理机器上,可以负载均衡,发生故障可以有状态切换。

需要能让多个机器同时读写的共享磁盘,可以由操作系统提供(AIX concurrent vg,Linux GPFS,)但concurrent vg是操作系统的双机软件中的组件所以必须安装ha软件。

可以用ora的ASM。

crs为ora的集群软件,提供ip切换等集群功能。

ASM功能类似LVM为os提供存储管理功能,但是是不可管理,把lun划给即可。

RAC模式,两个实例操作同一个数据库。

常用的方式是客户端连接的时候分别使用ip1加实例名和ip2加实例名的方式连接两个实例。

当一台主机故障之后,ip会切换到另一台主机上,但实例名变化了,仍然无法连接。

所以有了服务名的概念。

客户端使用ip加服务名方式连接数据库可以解决问题,切换比操作系统双机快。

但是对于tuxedo长连接的方式,没有重连接机制,仍然需要应用干预。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------以下摘自:/share/detail/23532601一集群环境下的一些特殊问题1.1 并发控制在集群环境中,关键数据通常是共享存放的,比如放在共享磁盘上。

而各个节点的对数据有相同的访问权限,这时就必须有某种机制能够控制节点对数据的访问。

Oracle Clusterware及Rac管理及部署指南10g Release 2

Oracle Clusterware及Rac管理及部署指南10g Release 2

Oracle Clusterware及Rac管理及部署指南10g Release 2(B14197-03)Oracle Clusterware需要两个clusterware组件:●∙Voting disk:用于记录结点(node)的成员资格信息●∙Oracle Cluster Registry(OCR):记录集群(cluster)的配置信息●∙这两个组件必须在共享磁盘上Clusterware有如下后台进程●∙Cluster Synchronization Service(CSS)●∙Event Management(EVM)Clusterware软件中各组件功能●∙Cluster Synchronization Service(CSS):通过控制哪个结点为集群的成员、结点在加入或离开集群时通知集群成员来控制集群的配置信息。

●∙Cluster Ready Services(CRS):管理集群内高可用操作的基本程序。

Crs管理的任何事物被称之为资源,它们可以是一个数据库、一个实例、一个监听、一个虚拟IP(VIP)地址、一个应用进程等等。

CRS是根据存储于OCR中的资源配置信息来管理这些资源的。

这包括启动、关闭、监控及故障切换(start、stop、monitor及failover)操作。

当一资源的状态改变时,CRS进程生成一个事件。

当你安装RAC时,CRS进程监控Oracle的实例、监听等等,并在故障发生时自动启动这些组件。

默认情况下,CRS进程会进行5次重启操作,如果资源仍然无法启动则不再尝试。

●∙Event Management(EVM):发布CRS创建事件的后台进程。

●∙Oracle Notification Service(ONS):通信的快速应用通知(FAN:Fast ApplicationNotification)事件的发布及订阅服务。

●∙RACG:为clusterware进行功能扩展以支持Oracle的特定需求及复杂资源。

rac failover的实现方式

rac failover的实现方式

rac failover的实现方式RAC(Real Application Clusters)是一种实现高可用性和容错性的数据库架构。

在RAC中,Failover是指在主节点(Primary)发生故障或不可用时,自动将主节点的功能切换到备用节点(Standby)上,确保系统的持续运行。

本文将介绍RAC Failover的实现方式及其原理。

一、故障检测与切换机制RAC Failover的实现依赖于故障检测与切换机制。

当主节点发生故障时,备用节点会检测到主节点的不可用性,并触发切换操作。

故障检测可以通过心跳检测、网络探测等方式实现。

当检测到主节点故障后,备用节点会接管主节点的功能,并成为新的主节点。

二、自动切换与手动切换RAC Failover可以分为自动切换和手动切换两种方式。

自动切换是指在主节点故障后,备用节点自动接管主节点的功能,不需要人工干预。

手动切换是指需要管理员手动触发切换操作,将备用节点切换为新的主节点。

三、冷备与热备RAC Failover的实现方式还可以根据备用节点的状态分为冷备和热备。

冷备是指备用节点处于关闭状态,当主节点故障时,需要启动备用节点并接管主节点的功能。

热备是指备用节点处于运行状态,可以即时接管主节点的功能。

四、故障恢复与数据同步RAC Failover的实现还需要考虑故障恢复和数据同步的问题。

故障恢复是指在主节点故障后,系统能够迅速恢复到正常运行状态。

数据同步是指在主节点故障前后,数据的一致性和完整性得到保证。

为了实现故障恢复和数据同步,可以使用数据复制、日志传输等技术手段。

五、负载均衡与高可用性RAC Failover的实现不仅可以提供高可用性,还可以实现负载均衡。

在RAC架构中,多个节点可以同时提供数据库服务,分担系统负载。

当主节点故障时,备用节点能够接管主节点的功能,保证系统的连续运行,同时还能够继续处理用户的请求,实现负载均衡。

六、故障切换的影响与性能优化RAC Failover的实现会对系统的性能产生一定的影响。

oracle RAC数据库双机双存储调整方案

oracle RAC数据库双机双存储调整方案

Oracle RAC数据库双机双存储调整方案2014年7月1.项目背景Oracle RAC数据库系统由于Oracle RAC集群数据库双节点无法正常的工作,目前只有Oracle RAC数据库中的其中一个节点能够正常的对外提供服务。

为了使该系统能够高效、稳定和可靠的运行,需要对该系统的架构进行调整为双机双存储方式运行。

2.调整前的数据库系统架构Oracle RAC部署使用的是双存储,对于Oracle Clusterware集群而言需要奇数个存储磁盘(1,3,5个),那么每个存储划分的2个LUN,一共4个LUN;存储A划分LUN1和LUN2,存储B划分LUN3和LUN4,在系统层面使用了IBM HACMP 将LUN2和LUN4镜像,形成了LUN5;LUN1,LUN3和LUN5作为Oracle Clusterware 磁盘文件。

但是由于ASM自己管理的LUN1、LUN3和IBM HACMP管理的LUN5操作的块大小不一致,使得在某一时间点Oracle Clusterware磁盘文件的内容不一致,导致系统出现故障。

在数据库层面使用ASM FAILGROUP特性使数据在两个存储之间保持同步。

3.调整后的数据库系统架构调整后的,Oracle RAC使用的双存储之间的镜像完全由IBM AIX LVM和HACMP 配合完成,将通过AIX LVM镜像好的LV通过HACMP做成并发卷提供给上层的Oracle RAC使用。

例如,将已经在LVM中镜像成功的LV1,LV2,LV3作为Oracle Clusterware磁盘文件,将另外镜像的LV4,LV5,LV6等用于存放Oracle RAC数据库,Oracle ASM直接使用镜像成功的LV,不再利用ASM FAILGROUP特性提供镜像。

4.实施方案整个实施过程我们一共准备了3套方案,确保实施过程高效、安全,在规定的时间内恢复系统的正常运行。

方案一是我们主要实施的方案;方案二是方案一的备选方案,在方案一不能正常进行时实施;方案三是方案二的备选方案,在方案二无法进行时实施。

rac集群scanip运行原理

rac集群scanip运行原理

rac集群scanip运行原理RAC (Real Application Clusters) 是Oracle数据库提供的一种高可用性和可伸缩性解决方案,它允许将多台服务器连接在同一个集群中,共享一个数据库。

在RAC集群中,每台服务器被称为一个节点,每个节点都可以运行数据库的一个实例。

这些实例可以同时访问和处理共享的数据库。

RAC集群的scanip (Single Client Access Name) 功能充当了前端应用程序和后端数据库之间的中间人,它提供一个虚拟的IP地址,应用程序可以使用该IP地址连接到RAC集群中的任何一个节点。

scanip的主要工作原理如下:1. IP地址管理:在RAC集群中,多个节点共享一个数据库,每个节点都有自己的私有IP地址。

scanip负责管理这些私有IP地址并为它们提供一个共享的虚拟IP地址。

应用程序连接到scanip时,它会将连接请求转发到正在提供服务的节点上。

2. 节点监控:scanip通过定期PING命令来监控集群中的节点是否可用。

如果一些节点不可用,则扫描IP将不再将请求转发给该节点,从而确保应用程序的连续性。

3. 加载均衡:scanip通过动态分配连接请求到不同的节点来实现负载均衡。

它根据节点的负载情况和可用性来决定将连接请求发送到哪个节点上。

这样可以确保集群中的每个节点都能够平均地处理查询请求,并最大限度地提高整个系统的性能和可用性。

4. 透明重定向:如果一个节点从集群中移除或添加到集群中,scanip可以自动地将连接请求重定向到新的节点上,而不需要应用程序进行任何修改。

这种透明的重定向功能可以最大限度地减少应用程序的停机时间和不可用性。

5. 高可用性:scanip本身也是一个高可用性组件,它可以动态分配虚拟IP地址到集群中的多个节点。

如果一些节点或者网络发生故障,scanip可以自动重新分配虚拟IP地址到其他正常工作的节点上。

这样可以确保应用程序的连续性和高可用性。

RAC环境下正确配置LISTENER和TNS

RAC环境下正确配置LISTENER和TNS

Rac环境下正确配置LISTENER和TNSRAC环境下配置LISTENER,TNS必须考虑负载均衡,故障切换等因素。

这里用一个四节点的RAC 环境为例:node1:rac1node2:rac2node3:rac3node4:rac41、服务器端的配置listener.ora的配置:配置每个实例本地的监听器:node1:<listener.ora>LISTENER_RAC1 =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node1-priv)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = IPC)(KEY = extproc)))))node2:<listener.ora>LISTENER_RAC2 =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node2-priv)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = IPC)(KEY = extproc)))))node3:<listener.ora>LISTENER_RAC3 =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node3-priv)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = IPC)(KEY = extproc))))node4:<listener.ora>LISTENER_RAC4 =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node4-priv)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = IPC)(KEY = extproc)))))tnsnames.ora的配置:在每个实例的tnsnames.ora文件中加入以下信息:LISTENER_RAC =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1421)(IP = FIRST)))LISTENER_RAC1 =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1421)(IP = FIRST)))LISTENER_RAC2 =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1421)(IP = FIRST)))LISTENER_RAC3 =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1421)(IP = FIRST)))LISTENER_RAC4 =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1421)(IP = FIRST)))设置LOCAL_LISTENER和REMOTE_LISTENER参数前面我们讲过,设置LOCAL_LISTENER参数是由于LISTENER使用了非TCP协议或非1521端口的情况下,那么在RAC环境下不管是使用了默认的TCP和1521还是其他协议都建议配置LOCAL_LISTENER.REMOTE_LISTENER参数在RAC环境下非常重要,是服务器使用load_balance的一个工具,在服务器端的连接中,Oracle NET通过remote_listener确定当前RAC中的远程监听和实例,以便分发连执行下面的语句设置LOCAL_LISTENER和REMOTE_LISTENER参数:ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC1' SCOPE=BOTH SID='RAC1';ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC2' SCOPE=BOTH SID='RAC2';ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC3' SCOPE=BOTH SID='RAC3';ALTER SYSTEM SET LOCAL_LISTENER='LISTENER_RAC4' SCOPE=BOTH SID='RAC4'; ...................ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC1';ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC2';ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC3';ALTER SYSTEM SET REMOTE_LISTENER='LISTENER_RAC' SCOPE=BOTH SID='RAC4';2、客户端TNS的配置RAC环境下Client端TNS的配置和非RAC环境下,多IP的配置情况一样,都要配置load_balance 和TAF:rac =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = IP2)(PORT = 1521))(LOAD_BALANCE = YES)(CONNECT_DATA =(SERVER = DEDICA TED)(SERVICE_NAME = ?) //注意:这里指的不是数据库SID))或rac =(DESCRIPTION =(ADDRESS_LIST =(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node3-vip)(PORT = 1421)(IP = FIRST))(ADDRESS = (PROTOCOL = TCP)(HOST = node4-vip)(PORT = 1421)(IP = FIRST)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = RAC)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)))连接测试开启多个连接测试, 并查询gv$session视图看看是否连接达到负载均衡.3、客户端HOSTS配置Hosts文件添加4、连接串解释ADDRESS后面就是连接的IP和端口号;LOAD_BALANCE=YES表示是否负载均衡;SERVER = DEDICA TIED表示专用服务器模式,感觉可以去掉;SERVICE_NAME=ORCL要操作数据库的服务名;TYPE = SELECT表示当一个连接好的会话的实例发生故障,系统会自动将会话切换到其他可用的实例,前台应用无须再度发起连接,但会话在执行的SQL 需要重新执行;METHOD = BASIC表示初始连接就连接一个接点,他还有个选项是PRECONNECT,表示初始连接所有的接点;RETRIES重试次数;DELAY 重试时延迟(以秒为单位)。

医院IT硬件负载均衡系统建设方案

医院IT硬件负载均衡系统建设方案

北京XX科技有限公司医院IT系统负载均衡方案简介北京XX科技有限公司IT售前技术支持部目录1.系统设计原则 (3)1.1.系统的高度灵活性和先进性 (3)1.2.系统的高度可用性 (3)1.3.经济性及投资保护 (4)2.SAN系统结构 (4)2.1.开放式SAN (4)2.2.集成的解决方案 (5)2.3.惠普SAN解决方案对客户有的价值 (5)3.医院IT系统解决方案 (6)3.1方案架构概述 (6)3.2核心业务系统架构设计 (6)3.2.1结构拓扑图 (7)3.2.2方案描述 (7)3.2.3Orecle数据库设计 (8)3.2.4SQL数据库设计 (10)3.2.5存储方案设计 (11)3.2.6存储多路径管理 (12)3.3工作计划及安排 (13)4.售后技术支持服务简介 (15)4.1XX售后服务支持概述 (15)4.2售后服务方式 (16)4.2.1 技术支持服务 (16)4.2.2服务水平 (17)4.2.3 提供原厂服务3年7x24 x4概述 (17)4.2.4 24小时服务热线支持 (17)4.2.5 互联网远程支持 (17)4.3售后服务内容 (18)4.4培训计划 (20)5.产品介绍 (21)5.1HP P6000介绍 (21)5.2HP StorageWorks 8/24 SAN 交换机 (24)1.系统设计原则本方案的设计主要依据以下原则:1.1.系统的高度灵活性和先进性充分考虑到用户数据的不断增长及不可预测性,平台配置相应具有高度扩充能力的服务器和存储设备:◆采用的所有服务器具有先进的、开放的体系结构。

◆服务器在内存容量、CPU速度和数量、I/O能力等方面具有优异扩充能力,大容量内存、大I/O吞吐能力。

◆采用具有节点扩充能力的CLUSTER企业群集结构;根据业务情况,在单节点性能扩充到一定限度时,可扩充群集中的节点数量,其优点是:1.保护用户投资2.整个系统性能的提高远大于单个节点性能的提高3.扩充节点时无须对应用软件作任何修改◆采用具有具有先进技术和高性能的存储设备。

第29章 Oracle RAC服务器配置和管理

第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日常管理概述

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组件。

ORACLERAC数据库负载均衡方案

ORACLERAC数据库负载均衡方案

ORACLERAC数据库负载均衡方案Oracle RAC(Real Application Clusters)是Oracle数据库的一种可扩展的高可用性解决方案,它允许在多个服务器上运行数据库实例,并通过共享同一组共享存储来提供高可用性和负载均衡。

在Oracle RAC中实现数据库负载均衡可以确保每个数据库节点的工作负载得以均衡分布,从而提高系统性能和可扩展性。

下面是一些可用的数据负载均衡方案和技术,可以在Oracle RAC中使用:1. RAC自动负载均衡(Automatic Workload Management,AWM):Oracle RAC的AWM功能可以根据系统的负载情况自动将工作负载分配给可用的节点。

AWM使用负载均衡器组件来监视各个节点的性能指标,并根据负载情况做出相应的负载均衡决策。

2. 服务化架构:Oracle RAC支持使用服务化架构来实现数据库负载均衡。

在服务化架构中,用户请求通过服务名称来访问数据库,而不是直接连接到具体的节点。

Oracle Grid Infrastructure可以根据服务名称将请求路由到最佳的节点,从而实现负载均衡。

3. 服务质量和资源管理:Oracle RAC提供了一套强大的资源管理功能,可以根据不同的服务级别和资源需求来管理数据库的工作负载。

通过配置资源计划和实施服务级别协议(Service Level Agreement,SLA),可以确保关键业务任务的优先处理,并保持整个集群的性能平衡。

4. 分区和平衡:Oracle RAC支持使用分区技术来实现数据的分布和负载均衡。

通过将数据分割成多个分区,并将每个分区分配到不同的节点上,可以同时提高系统的性能和可扩展性。

此外,Oracle还提供了自动分区和在线分区重组等功能,以便更好地管理和调整分区。

5. 并行查询:Oracle RAC可以通过并行查询技术来实现数据的并行处理和负载均衡。

通过将查询分成多个并行执行的任务,并将这些任务分配给可用的节点,可以更快地处理大量数据。

oracle11grac规划计划方案.docx

oracle11grac规划计划方案.docx

ORACLE 高可用性(RAC)技术方案目录一、基础知识介绍 ........................................错误 !未定义书签。

1. RAC 是什么 ........................................错误 !未定义书签。

2. RAC 的优势 ........................................错误 !未定义书签。

RAC 原理 ............................................错误 !未定义书签。

二、 RAC 系统结构设计 ....................................错误 !未定义书签。

系统拓扑结构基本如下图所示: ........................错误 !未定义书签。

2.用户组规划 .........................................错误 !未定义书签。

3.用户规划 ...........................................错误 !未定义书签。

4.磁盘规划 ...........................................错误 !未定义书签。

rac 网络规划 ........................................错误 !未定义书签。

一、基础知识介绍1. RAC 是什么RAC ,全称 real application clusters,译为“实时应用集群”, 是 Oracle 新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。

2. RAC 的优势Oracle RAC 主要支持 Oracle9i 、 10g、11g 版本,可以支持 24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。

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 failgroup原理

oracle rac failgroup原理

oracle rac failgroup原理标题:《OracleRAC(RealApplicationClusters)Failgroup原理》OracleRAC是一种高性能的集群软件,它可以在多台计算机上并行运行应用,实现负载均衡和高可用性。

在OracleRAC环境中,Failgroup是一个非常重要的概念,它对于保证系统的稳定性和可靠性至关重要。

本文将详细介绍OracleRAC 中的Failgroup原理。

一、什么是Failgroup?Failgroup是OracleRAC中的一个集群组,它由一组节点组成,这些节点在逻辑上形成一个整体,共同处理工作负载。

当一个节点出现故障时,Failgroup会自动将工作负载转移到其他健康的节点上,从而保证系统的可用性和稳定性。

Failgroup中的节点可以是物理服务器,也可以是虚拟机。

二、Failgroup的工作原理Failgroup通过以下几种方式实现高可用性:1.心跳检测:Failgroup使用心跳检测机制来监控节点的状态。

如果某个节点长时间没有收到其他节点的心跳,则认为该节点已经失效。

Failgroup会自动将失效节点的相关资源转移到其他健康的节点上。

2.负载均衡:Failgroup会自动将工作负载在节点之间分配,以确保所有节点都能够得到合理的负载。

当一个节点的性能下降时,Failgroup会自动将部分工作负载转移到其他节点上,以保持系统的性能和稳定性。

3.故障恢复:当一个节点恢复正常时,Failgroup会自动将之前转移的工作负载重新分配给该节点,从而实现了故障的快速恢复。

三、Failgroup的配置和管理Failgroup的配置和管理涉及到多个方面,包括节点的选择、网络的配置、数据同步等等。

在配置Failgroup时,需要考虑节点的硬件和软件配置、网络带宽、存储容量等因素。

同时,还需要定期进行性能测试和故障演练,以确保Failgroup能够正常工作。

RAC负载均衡的简单测试

RAC负载均衡的简单测试

RAC负载均衡的简单测试(一)===========================================================作者: yangtingkun()发表于: 2007.04.11 16:07分类: ORACLE出处: /post/468/279433---------------------------------------------------------------Rac环境安装完成之后,打算简单测试一下Oracle RAC的负载均衡功能。

配置负载均衡,需要在客户端的tnsnames.ora中进行配置。

TESTRAC =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.224)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.225)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testrac)))设置了LOAD_BALANCE = yes之后,使用TESTRAC服务名连接数据库时就启动了负载均衡功能。

登陆RAC实例,检查两个实例上的会话连接情况:SQL> SELECT INST_ID, COUNT(*) FROM GV$SESSION GROUP BY INST_ID;INST_ID COUNT(*)---------- ----------1 312 31下面在客户端连接RAC实例,并检查当前连接的是哪个实例:SQL> CONN NDMAIN@TESTRAC输入口令: ******已连接。

SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;INSTANCE_NAME----------------testrac1SQL> CONN NDMAIN@TESTRAC输入口令: ******已连接。

数据库高可用性方案汇总

数据库高可用性方案汇总

数据库⾼可⽤性⽅案汇总⼀. ⼤纲本篇介绍常见数据库的⾼可⽤⽅案,侧重于架构及功能介绍,不涉及详细原理,主要为了帮助⼤家对于常见数据库的⾼可⽤⽅案做个汇总性的了解。

⾸先我们先了解下⾼可⽤⽅案的常见类型,下⾯主要从两个⽅⾯来划分。

按底层存储架构主要划分为两种:1. Shared Storage:多个数据库实例之间共享⼀份数据存储,常见分案有Oracle RAC,SQL故障转移群集2. Shared Nothing: 每个数据库实例各⾃维护⼀份数据副本,常见分案有MySQL MHA,Oracle ADG,SQL镜像按功能实现主要划分为三种:1. Load balancing(负载均衡):常见实现⽅式为读写分离,典型⽅案有读写分离中间件,数据源拆分2. Auto Failover(⾃动故障转移):典型⽅案有MySQL MHA,SQL镜像(带见证服务器),AlwaysON3. Load balancing & Auto Failover(两者兼具):典型⽅案为Oracle RACPS:公司⽬前由于项⽬众多,环境参差不齐,且性能上基本单实例可以满⾜,因此侧重于故障转移,鲜有⽤到负载均衡的⽅案。

⼆. MySQL篇MySQL作为当今最流⾏的开源数据库之⼀,⾼可⽤⽅案可谓五花⼋门,下⾯依次介绍!PS:下述MySQL常见架构中的从库,⼀般都可以进⾏只读操作,程序上如果进⾏数据源拆分基本都可以达到分担压⼒的效果,所以下述中所涉及到的负载更多是意味着该⽅案能否在不拆分数据源的情况下,依靠⽅案本⾝达到负载均衡的⽬的!同理的话,故障转移也是,最简单的主从复制其实就可以实现⼿动故障转移,再配合keepalived(中间件)也可以达到⾃动故障转移的功能,所以下述中所涉及到的故障转移均意味着⽅案在不借助中间件的情况下可以实现⾃动故障转移,且对业务程序透明!主从复制是MySQL数据库使⽤率⾮常⾼的⼀种技术,它使⽤某个数据库服务器为主库(Master),然后实时在其他数据库服务器上进⾏数据复制,后⾯复制的数据库也称从库(Slave),架构上可以根据业务需求⽽进⾏多种变化组合,因此引申出了主主复制,⼀主多从,多主⼀从,联级复制等⾼可⽤架构。

RAC集群简介

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)集群中,节点之间需要通过某种机制(心跳)了解彼此的健康情况,以确保各个节点协调工作。

假设只是心跳出现故障,各个节点还在正常的工作,每个节点都认为其他节点宕机,自己是整个集群的唯一健在者,因此需要获得整个集群的“控制权”。

存储是共享的,这就意味着灾难,这种情况就是“脑裂”。

投票算法可以解决这个问题通过表决磁盘判定,获得表决磁盘多得节点将强制另外一个节点重启。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE RAC 数据库负载均衡方案
Real Application Cluster(以前称作Oracle Parallel Server,OPS)用来在集群环境下实现多机共享数据库,以保证应用的高可用性。

同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。

Real Application Cluster为大多数关键业务要求的数据库环境提供了极高的性能和完善的纠错功能。

Real Application Cluster允许集群系统或大型并行系统中的多个节点共享同一物理数据库。

Real Application Cluster 可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。

它还显著地提高了大型数据仓库和决策支持系统的性能。

通过与并行查询选件结合,它还提供了节点间的并行性和节点内的并行性,以得到更高的性能。

当并行服务器中某节点失效,透明的应用程序容错能够把用户自动转接到另一节点上继续运行,应用程序在用户没有察觉的情况下继续执行。

这使周期性和非周期性发生故障的系统增大了连续可用性。

进程的失效可以完全透明地转移到另一节点上去,通过适当地配置,可以指定所有查询都在客户端进行缓存,这样它们便可以在转移后的节点上重新设置。

同时,还可以在没有失效时预先与容错节点建立一个连接,这样可以减少容错时在连接所花的时间。

下图是并行服务器(Real Application Cluster)方式:
具有Cache Fusion体系结构的Oracle Real Application Clusters为企业电子商务应用开发提供了以下好处:
●电子商务应用的灵活和毫不费力的伸缩性;应用用户可以登录到单独的虚拟高性能集群服务器。

向数据库添加节点非常容易,并且当需要添加处理器节点或者业务需求变化时,不用手工对数据
进行分区。

对于所有的应用即时提供集群的可伸缩性--不用修改应用程序。

●较之传统集群数据库体系结构的高可用性解决方案;该体系结构为客户提供了几乎连续的数据
访问,使硬件和软件故障导致的业务中断最小化。

系统具备对多个节点失败的容错能力,使部件
失败屏蔽开最终用户。

●单独的管理实体;为了进行所有管理操作,在集群中保持一个单独的系统映像。

DBA一次性地
进行安装、配置、备份、升级以及监控等功能,然后Oracle将管理功能自动分配到适宜的节点。

这意味着DBA只管理着一个虚拟服务器。

●Cache Fusion保存了所有Oracle客户在他们电子商务应用中学习和开发Oracle的投资。

所有
单节点数据库功能都保留下来,并且应用程序使用相同标准的Oracle接口连接到数据库上。

1.可伸缩性
基于RAC的电子商务应用的用户或者中间层应用服务器客户,可以通过虚拟数据库服务名连接到数据库上。

Oracle在集群中多个节点之间自动平衡用户负载。

不同节点上的Real Application Clusters数据库实例预订所有数据库服务或者部分子集数据库服务。

这使得DBA高度灵活地选定,连接到特定数据库服务的特定应用程序客
户是否可以连接到某些或者全部的数据库节点。

虽然每一个节点有一个不同的物理IP地址时,应用客户仍可以在一个逻辑数据库服务名的水平上进行连接。

因此客户端对于不相关的事情如多服务器的多个地址可以毫不关心。

随着业务的增长,电子商务可以从容地增加处理能力。

Cache Fusion体系结构直接地利用新节点的CPU和内存资源。

DBA无需用手工对数据重新分区。

这个优点是这种体系结构的副产品,因为有透明度的数据存取是Cache Fusion的一项基本功能。

Cache Fusion体系机构自动适应快速变化的电子商务需求及随之而来的工作负荷的改变。

DBA也不必因为工作负荷变化而对数据进行手工的重新分区。

Real Application Clusters通过动态地重新分配数据库资源,从而在节点之间用最小化的磁盘I/O和低的延迟通信来优化利用集群系统资源。

这使得Real Application Clusters可以从容实现增加的应用吞吐量和优化的响应时间。

2.高可用性
Real Application Clusters提供了真正的高可用性解决方案,关键的突破是在大多数数据库恢复期间能提供完整的数据库访问。

这使得Real Application Clusters成为电子商务应用所要求的24x7可用性的最佳平台。

Real Application Clusters在高可用性上在三个关键领域胜出:
●提供了数据库恢复期间的数据块访问
●透明的失效转移对最终用户屏蔽了系统失效
●N-1节点失效的容错能力
只要有一个数据库节点幸存,Real Application Clusters就能够提供完全的数据库访问和相对不间断的操作。

3.可管理性
Real Application Clusters实现了真正意义上的一个单系统访问数据库,它提供了从任何节点到所有磁盘设备和远程高速缓存进行无缝数据访问的能力。

此单系统映像延伸到所有数据库管理操作。

安装、配置、备份、升级以及监控等操作只需进行一次,然后会自动发布到集群中所有节点上去。

各种Oracle工具(如Oracle Universal Installer、Database Configuration Assistant以及Recovery Manager)将发现集群数据块中所有不同的节点并以它们为目标分配给想得到的任务。

通过为特定的管理操作选择多个目标节点,管理任务在数据库集群中多个节点上执行。

这为电子商务管理其环境带来了极大的可伸缩性上的经济实惠。

例如,向数据库集群添加一个节点只会增加最小的管理任务。

这样,
Real Application Clusters支持在线电子商务应用和决策支持之类的应用,并且为数据访问和管理提供了单一的虚拟高性能服务器。

相关文档
最新文档