搭建Oracle高可用(HA)数据库环境
如何设置高可用数据库服务器

如何设置高可用数据库服务器互联网的快速发展推动了大量数据的产生和存储,因此数据库服务器的高可用性显得尤为重要。
高可用数据库服务器可以确保数据库系统在面对硬件故障或网络中断等意外情况时仍能提供持续可靠的服务。
本文将介绍一些关键的设置和策略,帮助您搭建高可用的数据库服务器。
一、数据库服务器的冗余设置为了确保数据库系统的高可用性,首先需要进行服务器的冗余设置。
这意味着至少需要两台数据库服务器来提供冗余服务。
一台服务器作为主服务器,负责处理所有的读写请求,而另外一台服务器则作为备用服务器,监控主服务器的状态,并在主服务器发生故障时接管其职责。
为了实现这一设置,您可以考虑使用数据库复制技术。
数据库复制可以将主服务器上的数据同步到备用服务器上,确保备用服务器上的数据与主服务器上的数据保持一致。
当主服务器发生故障时,备用服务器可以立即切换为主服务器,继续提供服务。
二、实现高可用的网络架构除了服务器的冗余设置,高可用的数据库服务器还需要支持高可用的网络架构。
为了确保网络的可靠性,您可以考虑使用双机房部署。
将主服务器和备用服务器分别部署在不同的机房,通过跨机房的网络连接实现数据的同步和故障切换。
这样即使一台机房发生故障,另一台机房仍然可以继续提供服务。
此外,还可以考虑使用虚拟IP地址(VIP)技术来实现故障切换。
虚拟IP地址可以自动漂移到备用服务器上,确保在主服务器故障时,备用服务器可以立即接管主服务器的职责。
通过这种方式,可以实现数据库服务的无缝切换,减少业务中断的时间。
三、监控和故障转移要确保高可用数据库服务器的可靠性,监控和故障转移是必不可少的。
监控系统可以实时监测主服务器和备用服务器的状态,一旦发现主服务器出现故障,可以立即触发故障切换。
在故障发生时,需要及时进行故障转移,确保备用服务器可以立即接管主服务器的职责。
可以通过一些自动化的脚本或工具来实现故障转移的自动化,减少人工干预的时间和成本。
同时,为了保证数据库的数据完整性和一致性,还需要设置定期的数据备份和恢复策略。
打造高可用的Oracle数据库

打造高可用的Oracle数据库作者:何国庆王润宇宿云凯来源:《电子世界》2012年第15期【摘要】随着现代科技的不断进步,数据库技术在各种计算机和信息应用系统中发挥着越来越重要的基础性作用。
然而随时都有可能发生的各种突发事件,使数据库的高可用性面临着巨大挑战。
针对上述情况,本文从操作系统和数据库两个层面出发,重点介绍了三种保障数据库高可用性方面的技术:操作系统集群技术、Oracle数据库的RAC技术和Dataguard技术,并对其各自的优缺点进行了比较分析。
【关键词】数据库;高可用;RAC;DataGuard一、引言随着信息技术的发展,信息技术不仅改变了我们的工作方式,更是我们提高工作效率的原动力。
数据库是信息技术的核心技术之一,其直接存储和管理信息数据主体,并提供数据查询等服务。
数据库的稳定高效运行是业务是否稳定的前提。
然而,各种突发事件诸如网络威胁、硬件故障、火灾等,都使数据库稳定运行面临着巨大挑战。
为了在突发事件发生时,数据库仍然能够高效稳定运行,或使突发事件产生的影响降低到最小。
从操作系统到数据库应用都产生了很多高可用技术。
本文首先分析操作系统层面的高可用技术,及其对于数据库的局限性。
然后重点讨论目前常见的oracle数据库和高可用性有关的两项技术:Real Application Cluster和Data Guard。
二、操作系统上的高可用性时至今日,服务器不仅运算速度有了飞速提升,各种硬件的冗余技术,硬盘的RAID技术及日益稳定的操作系统都使其稳定性有了质的飞跃,但是硬件故障、操作系统的漏洞和bug依旧不能完全避免。
为了满足特殊服务器的高可用需求,常见的操作系统均推出了自己的集群技术,如AIX的High Availability Cluster Multi-Processing(简称HACMP或HA)。
Windows的windows Failover Cluster(简称WSFC)等。
oracle ha简介

Oracle主机HA(Server HA)属于我们开始说的狭义意义上的HA,它是基于OS的技术,采用OS支持的Cluster Soft来保证主机的冗余保护,当主机或者网络发生故障时来实现自动保护切换,它和RAC一样使用共享存储来保证数据的一致性。
主机HA技术出现的比较早,技术也比较成熟,现在市场上也有很多优秀的支持各种OS 的Cluster Soft,所以主机HA技术应用非常广泛,而且主机HA的集群技术与数据库的版本、特性无关,在不同的数据库版本甚至不同的数据库上都可以实现主机的HA,它与RAC的工作模式有所不同,RAC主要工作在双机双工的末实现,而主机HA则工作在双机热备或者双机互备的模式下,同时RAC是居于数据库而完成的高可用性,而主机HA是基于OS完成的主机高可用性来保证数据库的高可用性。
Oracle数据库HA架构方案介绍主机HA技术是一个或者多个主机共享一台备用主机的集群技术,所以它能解决主机故障包括OS故障、主机网卡故障、单个主机的网络故障等,通过Cluster软件将两台或者多台数据库主机绑定一个服务IP,所有的Data file、Contr File、Redo log等都存放于共享的存储上,主机HA集群通过一个服务IP对外提供服务,通过HA Soft 软件的管理集群中的各个主机运行在Active/Standby方式下,当其中一台主机发送故障时,HA Soft软件会自动的检测到故障并且将提供服务的IP切换到正常的主机上提供服务,从而保证了数据库服务的连续性和故障的自动切换。
现在支持主机HA的Cluster软件有很多种,只要的有:Veritas的VCS,IBM的HACMP,HP的ServiceGuard,SUN的Sun Cluster等。
主机HA特点1)主机HA的最大优点就是可以解决服务器的单点故障,Database所有的文件都建立在共享存储上,存储的冗余需要依赖其他技术(RAID、LVS等)来实现2)主机HA的技术简单成熟,所以在实际的应用中被广使用,但对主机资源的浪费比较严重,基本上要保证对等的资源处于等待状态。
Oracle数据库安装环境配置

写入如下内容:
ssh rac1 date
ssh rac2 date
ssh rac1-pri date ssh rac2-pri date
配置oracle,grid用户ssh等价
5.重复配置grid用户
第二个节点执行同样操作
分区共享磁盘
1.添加共享磁盘后分区 查看磁盘状态
[root@host1 ~]# fdisk -l
创建裸设备
增加如下内容 ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
KERNEL=="raw[1-2]", OWNER="grid", GROUP="asmadmin", MODE="0660"
[root@rac1 ~]# chown oracle:oinstall /u01/app/oracle
第二节点重复此操作[root Nhomakorabearac2 ~]# mkdir -p /u01/app/oracle
[root@rac2 ~]# chown oracle:oinstall /u01/app/oracle
创建裸设备
[root@host1 ~]# ls -trl /dev/raw
total 0
crw-rw---- 1 grid asmadmin 162, 2 Jun 2 00:34 raw2
淘宝网首席DBA陈吉平著

搭建Oracle高可用系统1.1 1.2 1.3 1.4 1.5 1.6 理解Oracle数据库Oracle高可用特性(High Availability)搭建高可用的周边辅助环境高可用应用设计高可用数据库设计高可用性案例1.7总结4 第1章什么是Oracle高可用环境引言近几年来,随着IT 技术的不断进步,以及业务需求的不断提高,搭建一个数据库高可用环境已经成为很多企业迫切的需求。
本书从Oracle 及Oracle 周边环境分析Oracle 高可用环境的特性,为用户搭建一个良好的Oracle 高可用环境打下一定的理论基础。
本章是本书的第 1 章,仅仅提供一些Oracle 的基础理论知识与高可用性构架的思想,也希望能起到一个引导作用,为顺利阅读以后的章节打下一定的基础。
通过本章,希望能了解如下内容:理解Oracle 的大致体系结构理解Oracle 内存结构与后台进程理解Oracle 物理与逻辑结构理解Oracle MAA 最高可用性结构与计划理解Oracle 的典型高可用特性Oracle 并行服务器(OPS/RAC)Oracle 数据保护(Standby/Data guard)Oracle 数据复制(Advanced Replication/Streams)Oracle 主机上的HA理解如何搭建一个高可用环境辅助环境的高可用设计应用的高可用设计数据库的高可用设计理解一些典型的高可用设计的案例构建0racle高可用环境——企业级高可用数据库架构、实战与经验总结1.1理解Oracle数据库5 1.1理解Oracle数据库1.1.1 Oracle数据库体系结构Oracle 是一个可移植的数据库——它在相关的平台上都可以使用,即具有跨平台特性,也正由于具有这个特性,加上Oracle 优越的性能与开放性,才使得Oracle 能取得今天这样的成绩。
不过,在不同的操作系统上,Oracle 除了内核是完全一样的以外,其他地方也略有差别,如在Linux/Unix 上,Oracle 是多个进程实现的,每一个主要函数都是一个进程;而在Windows 上,则是一个单一进程,但是在该进程中包含多个线程。
数据库HA架构设计的最佳实践

数据库HA架构设计的最佳实践数据库HA(High Availability,高可用性)架构设计的最佳实践在当今信息化时代,数据已经成为各个企业和组织的核心资产。
为了确保数据的稳定可靠,数据库的高可用性变得尤为重要。
数据库HA 架构设计是保证数据库系统连续可用的关键要素之一。
本文将探讨一些数据库HA架构设计的最佳实践。
一、基本概念与原则数据库HA架构设计的目标在于保证数据持续可用性,避免单点故障。
以下是一些基本概念和原则:1. 多节点架构:建立多个节点或实例,使系统能够提供冗余和容错能力。
在节点之间实现数据同步和故障转移,从而确保数据的可靠性和可用性。
2. 自动故障转移:当一个节点或实例发生故障时,系统应该能够自动进行故障检测,并将流量转移到健康的节点上,使用户无感知地继续访问数据库。
3. 负载均衡:将用户请求分发到不同的节点上,以实现资源的均衡利用和提升系统性能。
4. 数据一致性:确保多节点之间的数据同步一致性,避免数据丢失或损坏。
5. 容量规划:根据业务需求和预估的数据增长速度,合理规划数据库存储容量,避免因容量不足导致的系统故障。
二、数据库HA架构设计的关键技术与模式在实际的数据库HA架构设计中,有多种关键技术和模式可以选择。
以下是其中一些常用的:1. 主从复制主从复制是一种常见的数据库HA技术,通过将数据库实例划分为主节点和从节点,实现数据的异步或同步复制。
主节点负责处理写操作,而从节点负责处理读操作。
当主节点故障时,从节点可以自动接管主节点的职责,确保数据的连续可用性。
2. 数据库集群数据库集群是将多个数据库节点组合成一个逻辑上的单一系统,通过共享存储或数据复制来实现数据的冗余和故障切换。
常见的数据库集群模式包括共享存储集群、主-从集群和多主集群等。
3. 分布式数据库分布式数据库将数据分布在多个节点上,每个节点都是独立的数据库系统。
通过数据分片、数据分区和数据冗余等技术,实现数据的横向扩展和高可用性。
vmware 高可用性(集群HA)
VMware高可用性(集群HA)1 应用层高可用性:如实现mysql、oracle数据库应用程序的储群集,主要是判断mysql、oracle 应用程序是否停止运行。
2 操作系统高可用性:如windows的故障转移群集(windows failover clustering WFC)。
3 虚拟化层的高可用性:如vsphere high availability(HA)和vsphere fault tolerance(FT)。
4 物理层的高可用性:如:多网络适配器、SAN等。
vSphere HA 和 Fault Tolerance(FT)功能分别通过提供中断快速恢复和连续可用性来最小化或消除非计划停机时间。
使用 vSphere,企业可以轻松提高为所有应用程序提供的基准级别,并且以更低成本和更简单的操作来实现更高级别的可用性。
使用vSphere,你可以:a 独立于硬件、操作系统和应用程序提供更高可用性。
b 减少常见维护操作的计划停机时间。
c 在出现故障时提供自动恢复。
一、vSphere HA 提供快速中断恢复vSphere HA 利用配置为群集的多台 ESXi 主机,为虚拟机中运行的应用程序提供快速中断恢复和具有成本效益的高可用性。
vSphere HA 通过以下方式保护应用程序可用性:1 通过在群集内的其他主机上重新启动虚拟机,防止服务器故障。
2 通过持续监控虚拟机(通过vmware tools实现主机向虚拟机发送检测信号)并在检测到故障时对其进行重新设置, 防止应用程序故障。
与其他群集解决方案不同,vSphere HA 提供基础架构并使用该基础架构保护所有工作负载:a 无需在应用程序或虚拟机内安装特殊软件。
所有工作负载均受 vSphere HA 保护。
配置 vSphere HA 之后,不需要执行操作即可保护新虚拟机。
它们会自动受到保护。
(需在开机状态下才受保护)b 可以将 vSphere HA 与 vSphere Distributed Resource Scheduler (DRS即负载均衡) 结合使用以防止出现故障,以及在群集内的主机之间提供负载平衡。
oracle ha 高可用性指南
Oracle 11g高可用性指南数据库吧Oracle 11g 高可用性指南“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
在本次技术手册中,我们将为您介绍Oracle 11g数据库的高可用性功能,其中包括了真正应用集群(RAC)、自动存储管理(ASM)以及数据卫士等。
通过阅读本次技术手册,相信您对高可用性的定义将有更加深入的了解,同时在进行高可用环境构建时也会有所帮助。
什么是“高可用性”高可用性和减少计划内(甚至是计划外)停机时间是数据库系统的目标,在需要24*7无障碍运行的环境中尤其如此。
让数据库停机进行维护或者甚至是硬件问题导致的停机都是不能接受的,因为这些故障可以给企业带来重大损失。
定义高可用性真正应用集群(RAC)Oracle的真正应用集群(RAC)提供了一个高可用、高可扩展的数据库环境。
如果在集群中的一个服务器崩溃了,数据库实例仍然可以再集群的其他服务器或节点上运行。
理解真正应用集群(RAC)Oracle 高可用性:安装RAC Oracle 高可用性:测试RAC自动存储管理(ASM)正如在真正应用集群RAC环境中提到的那样,自动存储管理(ASM)对Oracle数据库文件既做文件管理,也做磁盘管理。
自动存储管理是高可用数据库环境中的一个重要部分,而且对处理性能问题和管理Oracle文件也非常重要。
什么是自动存储管理(ASM)创建自动存储管理磁盘组如何使用ASMCMD和ASMLIB管理ASM实例数据卫士(Data Guard)数据卫士管理器提供了一种很实用的方式来管理主服务器和从服务器。
它支持你手工执行故障切换,设置自动故障切换,把从服务器设置为快照模式。
快照模式实际上把数据库设置成了读写模式,以便可以针对当前生产数据集进行测试。
Oracle 高可用性:理解数据卫士解释数据卫士保护模式创建Oracle物理备用服务器所有的数据库,不管是物理的还是逻辑的,都必须首先被创建物理备用数据库。
oracle高可用方案
oracle高可用方案在IT行业中,数据的安全性和可靠性是一项极为重要的任务。
数据库作为数据处理和管理的核心,必须具有高可用性和冗余性,以确保数据在任何情况下都不会丢失。
在这种情况下,Oracle高可用方案成为了一个比较通用的选择。
本文将探讨Oracle高可用方案的一些技术细节和优势。
I. 了解Oracle高可用方案Oracle高可用方案是一组使用Oracle技术来设计的架构,此架构可确保数据存储在多台服务器上,以保证系统稳定性。
为了保证高可用性,Oracle高可用方案包括了如下技术:1. 数据库的冗余性:为了保证数据库的冗余性,Oracle高可用方案使用了多个实例来进行分布式计算。
这样,在一个实例发生故障的情况下,其他实例仍然可以继续处理数据。
2. 自动故障转移(AFT):通过使用Oracle集群,Oracle高可用方案实现了自动故障转移。
这项技术使用专门的软件来监控实例,以便在一个实例失效时,自动切换到备用实例。
3. 归档和重做日志:利用Oracle的归档和重做日志特性,数据可以在多个服务器上进行同步,确保数据互相关联。
这也确保在一个服务器出现故障的情况时,另一个服务器能立即取而代之。
II. Oracle高可用方案的优势Oracle高可用方案有如下几个主要的优势:1. 提高系统的可用性:一个企业离不开数据库。
在数据丢失或服务器故障的时候,整个企业都会受到影响。
因此,Oracle高可用方案使用多个服务器实例和备份管理,以确保数据的完整性和安全性。
2. 降低停机时间:当出现系统故障时,系统管理员需要进行手动修复,这需要花费大量的时间。
但是,Oracle高可用方案能够自动进行修复和数据恢复,从而极大地减少了停机时间。
3. 提高业务连续性:大多数企业需要实时访问其数据库,否则就会对业务产生影响。
Oracle高可用方案可以帮助企业实现复杂的业务流程,带来连续性和可靠性。
4. 支持在线扩容:当企业业务增长时,数据库需要扩容。
oracle高可用方案
oracle高可用方案Oracle高可用方案简介在数据库中,高可用性是指系统能够持续提供服务而不中断或降低性能,即使在出现故障的情况下也能够快速恢复。
Oracle提供了多种高可用方案,以确保数据库的稳定性和可用性。
本文将介绍一些常见的Oracle高可用方案。
Oracle Data GuardOracle Data Guard是Oracle数据库的一种高可用性和灾难恢复解决方案。
它通过在主数据库和一个或多个备数据库之间复制和同步数据来提供数据保护和可用性。
当主数据库发生故障时,可以快速切换到一个备数据库,从而实现快速故障恢复。
Data Guard支持多个配置模式,包括物理备库模式、逻辑备库模式和多站点配置模式。
物理备库模式是最常见的模式,它通过将主数据库的更改传输到备数据库来实现数据同步。
逻辑备库模式则通过将主数据库的SQL语句传输给备数据库来实现数据同步。
多站点配置模式可以在多个地理位置上设置数据中心,提供更高的可用性和灾难恢复能力。
Data Guard还支持自动故障转移,可以在主数据库不可用时自动切换到备数据库,从而减少服务中断的时间。
Oracle Real Application Clusters (RAC)Oracle RAC是一种集群解决方案,通过在多个服务器上共享数据库资源来提供高可用性和可伸缩性。
RAC可以将多台服务器连接到一个共享存储系统,并在这些服务器之间共享负载和故障容错能力。
RAC集群可以自动检测故障并在节点间重新分配工作负载,从而实现高可用性和负载均衡。
当一个节点发生故障时,集群可以自动将工作负载传送到其他节点上,确保服务的连续性。
RAC还提供了一种单一系统映像(Single System Image)的能力,即所有节点看到的是一个统一的数据库。
这意味着应用程序可以在任何节点上访问和操作数据库,而不需要在各个节点之间迁移数据。
Oracle GoldenGateOracle GoldenGate是一种实时数据复制和数据集成解决方案,可以在不同的数据库之间复制和同步数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
搭建Oracle高可用(HA)数据库环境2008-05-08 10:4524*7(有些叫法也为24*7*365)的高可用系统越来越多的受到广泛重视与应用,那是因为在实际环境中,不间断的系统代表的就是不间断的义务收入。
但是◆怎么样搭建与治理24*7的高可用环境?◆各种各样的高可用环境之间到底有什么差别?◆我们是否适合于哪种环境?◆现在高可用环境的主要方式以及以后的发展趋势是什么?这些话题,都是决策者与实施者都应当考虑的,也是本文所探讨的,我们需要搭建一个怎么样的高可用环境,才能真正做到最适合。
一、什么是高可用(High Availability)在高可用的解释方面,有人给出了如下的诠释:(1)系统失败或崩溃 (system faults and crashes)(2)应用层或者中间层错误 (application and middleware failures)(3)网络失败 (network failures)(4)介质失败,一般指存放数据的媒体故障 (media failures)(5)人为失误 (Human Error)(6)容灾 (Disasters and extended outages)(7)计划宕机与维护 (Planned downtime, maintenance and management tasks)可见,高可用不仅仅包含了系统本身故障,应用层的错误,人为错误等等,还应当包括数据冗余、容灾以及计划的维护时间,也就是说,一个真正的高可用环境,不仅仅是能避免系统本身的问题,还应当能防止天灾人祸,以及有一个简单可靠的系统维护方法(如微码升级、软件升级等等计划停机维护)。
现在高可用的计算方法一般以年在线率来计算,如规定一年之中的可用环境要达到99.95%,那么24*365*(1-99.95%)=4.38小时(包括维护时间)。
那么假定一个系统本身一年之中故障时间是1小时,但是计划维护时间却花了20小时,那么这个系统也不能算是一个满足设计要求的高可用环境。
现阶段使用环境中,基本没有真正的100%的在线环境,或者说,假如达到100%的在线能力,将花费非常多的代价,所以一般能达到99.95%以上的可用性的环境,一般都可以认为是高可用环境。
高可用性的在线率(可用级别)与停机时间可以参考如图1-11所示的对照表:对于高可用性在线效率的计算,我们可以参考如下方法:图1在公司收益与投入成本计算方面取得一个平衡,则是我们所希望的在线效率,但是收益与成本的计算方法则是决策者与实施者需要着重考虑的问题了,也是我们下面希望能试图解释的问题。
二、Oracle高可用相关功能的产品概述因为高可用的范围定义太广泛,本文我们只讨论与Oracle数据库有关系的高可用设计,如数据库主机的错误,数据所在的存储错误,介质损坏以及主机与数据的冗余保护等等,并不讨论应用层的设计,Oracle 提供支持high availability 相关产品主要有下面几种:(1) Oracle Parallel Server(8i)/ Real Application Cluster(9i/10g)(2) Oracle Standby Database(8i)/Oracle Data Guard(9i/10g)(3) Oralce Advanced Replication(8i)/Oracle Stream(9i/10g)(4) Oracle Server HA(5) Other: Mv/RMAN/Oracle Log Miner/Oracle Flashback Query(9/10gi) 等等,还有其他很多小的功能,如在线表的重定义,新的安全审计功能等,也都是为在线系统而设计的,但是,我们这里主要只考虑构架方面的高可用设计,也就是与成本有关系的高可用设计,怎么样达到成本与收益的最大平衡。
所以,我们将主要讨论的是Oracle OPS/RAC、Standby/Ddata guard、Advanced Replocation/Stream以及与Oracle Server相关的OS HA(双机)。
1、OPS /RACOPS/RAC 最原始的设计初衷就是system/application high availability。
与其他产品相比较: OPS/RAC 是多个服务器的cluster,组成具有更大计算处理能力与故障处理能力的集群。
cluster 里面不同的 node 使用一个(一般是一个)或多个oracle instances 与一个database 连接(Shared Storage)。
主要的技术特点:(1) database 所有的data files 是建立在共享存储(Shared Storage)上面的,一般可以采用raw设备,共享文件系统或者是ASM(10g提供),因此在技术方面对OS 的设置有很高的依靠性,需要有OS支持的cluster软件。
(2) OPS/RAC在共享存储方面并没有冗余保护,不具备在共享存储阵列损坏的情况下具有切换的能力,因此 media failure 方面,要依靠RAID (redundant array of ineXPensive disk) Subsystem、LV镜相(LV Mirror)、卷复制(Volume Replication)或者是Standby/Data guard来实现数据的冗余保护。
(3)该技术是Oracle近来主推的技术,非凡是10g以后的网格计算与线型扩展能力,在电信、移动、银行行业使用广泛。
假如还是老的OPS,则不建议再使用,但是9i以后的Rac技术逐渐成熟,可以使用在高可用环境下,但是其治理成本与技术的复杂性,则也是需要考虑的。
2、Advanced Replication /StreamAdvanced Replication 的设计初是分散异地的application Access database locally。
这种技术可以将一个数据库中的objects复制到另一数据库中。
假如是整个数据库的复制,也可用于高可用环境。
从Oracle 9i开始,Oracle更倾向使用Stream的技术,通过对归档日志的挖掘,可以在对主系统没有任何压力的情况下,实现对数据库的objects甚至整个数据库的同步。
主要的技术特点:(1)技术相对灵活,可以对单独的object,或者是整个数据库进行复制,而且作为stream,复制的压力更小,对主库没有压力,闻名的复制软件share plex就是采用类似的技术进行数据的复制的。
(2)可以实现数据库主机以及共享存储的完全冗余保护,甚至是跨地域的容灾保护,在很多比较大型的在线系统中,可以用该技术实现系统的读写分离,通过该技术把写站点的数据复制到多个读站点,大大提高系统的可用性与安全性。
(3)因为Advanced Replication与Stream的不成熟性与技术复杂性,该技术没有被广泛的使用,但是其对应软件share plex使用还是瞒广泛的,不过因为其昂贵的价格,则是需要考虑其搭建成本的。
3、Standby/Data GuardStandby database/Data guard是ORACLE推出的一种高可用性数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。
Oracle从7.3才开始支持standby database。
在9i开始,发展为data guard,并支持MAXIMIZE PROTECTION、MAXIMIZE AVAILABILITY、MAXIMIZE PERFORMANCE的三种保护模式,可以实现自由的手工主备切换,实现高可用的条件,假如配置合理,可以实现部分的自动切换。
从Oracle 9i开始,也开始支持逻辑standby,逻辑standby的原理跟Stream复制相差不大,可以归结到Stream中。
主要的技术特点:(1)可以实现数据库主机以及共享存储的完全冗余保护,该冗余甚至可以跨地域,做成容灾保护,另外,主节点必须运行在归档模式下,并且可能要force logging,保证备用节点的数据正确性。
(2)主备用节点对OS的环境要求比较高,必须要是相同的OS环境(相差一定的beta版本一般关系不大),而且数据库环境最好也一致。
(3)除了最大保护模式外,其它模式下假如主站点的存储损坏而导致备用站点进行失败切换的时候,需要注重数据的丢失问题,务必同步完主站点当前的联机日志。
(4)备用节点的主机与存储基本不能提供访问,仅仅能提供只读查询,所以该技术也有严重的资源浪费,不过该技术因为成本比较低,治理方便,技术成熟,所以被广泛使用。
4、OS相关HAOracle Server HA是基于OS的技术,采用OS支持的Cluster Soft来保证主机的冗余保护,跟Rac一样,不能保证共享存储的高可靠性。
它的基本架构共分两种模式:双机互备援(Dual Active)模式和双机热备份(Hot Standby)模式,对于Dual Active模式,双机都是正常工作的,但是工作业务不同,在一个主机故障时,切换到另外一个主机上;Hot Standby模式则只有一个机器工作,另外一个机器处于接管状态。
不管是哪种模式,Cluster都可以正确的检测到系统异常并自动进行失败切换,假如是Dual Active模式,则需要注重当两个业务都切换到一个server上的时候,该机器是否能承载双份的压力。
主要的技术特点:(1)与Rac一样,database 所有的data files 是建立在共享存储上面的,存储的冗余保护则需要依靠其它技术。
(2)HA的技术简单成熟,所以在实际使用中,也能被广泛采用,但是,对主机资源的浪费也最为严重,基本上要保证有对等的资源处于等待状态。
三、Oracle高可用相关功能的具体说明1、OPS/RACOPS/RAC通过两个或多个节点的cluster,多个节点之间,采用高速通信链路连接,来解决数据库的高可用性,在OPS/RAC中,每个节点都可以被应用端访问并可以自动负载平衡。
假如其中一个节点发生故障,所有的节点将自动切换到另外一个(或几个)节点上。
可以实现动态应用的切换以及数据库服务器及时的失败处理,在server的高可用方面提供最高保护。
但是OPS/RAC并不对磁盘,阵列提供保护的特性,假如发生介质的物理损坏,将可能导致服务器的宕机。
所以我们可以对OPS/RAC进行进一步的保护,如采用好的RAID方式(如RAID 10),也可以在OS层面上对逻辑卷做镜相或者复制,甚至采用RAC+DATA GUARD双重保护。
Rac已经被广泛使用在高可用环境,但是,除了硬件成本,cluster软件成本,我们还需要考虑治理成本。