OracleDataGuard容灾方案Word格式.docx
《OracleDataGuard容灾方案Word格式.docx》由会员分享,可在线阅读,更多相关《OracleDataGuard容灾方案Word格式.docx(50页珍藏版)》请在冰点文库上搜索。
Archivelog数据量(GB)
高峰期Archivelog变化量(MB/s)
平均每天
最大帐单日
HX
25
1
4
0.42
SZ
15
2
0.20
CR
93
4.5
5
0.40
DE
38
1.5
0.58
UC
275
12
16
2.95
合计
446
20
32
4.55
一.3用户需求
银联数据拟为提供外包服务的各银行发卡系统建设异地灾备系统,生产系统位于,灾备系统位于。
主备中心之间采用数据库复制软件进行异步数据复制,以保证生产数据的安全性,满足发卡系统的业务连续性需求。
一.3.1日常功能
●将生产中心发卡系统上的数据库变化实时异步复制到灾备中心;
●灾备中心的Oracle数据库处于打开状态,可提供实时数据查询;
●对生产系统的资源占用不能太多,不能影响到生产系统的正常运行;
●对网络带宽的占用较低。
一.3.2故障切换
●当生产中心的系统无常运行,而又不能在短期恢复时,可利用灾备中心提供业务接管。
●灾备中心必须在生产中心不可用6小时之完成业务接管。
●当生产中心服务器恢复正常后,数据复制系统需要将灾备中心的最新数据反向复制回生产中心,实现业务的恢复。
一.3.3基本要求
●复制软件应满足在单机或RAC环境下,对Oracle在线日志(Onlineredolog)的捕捉及复制;
●支持Oracle中所有的常用数据类型,如Oracle中的LONG、LONGRAW、BLOB、CLOB、NCLOB、TIMESTAMP等,可实现用户自定义表、字段进行复制;
●支持对数据库中常用DDL操作的复制;
●支持事务复制,要求对数据库中较大的事务不会出现过多延迟;
●支持没有PK/UK字段的表的同步。
●数据复制过程可根据需要灵活地进行控制或修改复制的方向,以满足业务需求;
●支持在数据复制过程中对数据正确性进行校验,如正在复制的数据在之前就已经不一致,应提供报警功能,以便及时发现错误,避免错误的扩大;
●提供专用图形化集中管理软件。
一.3.4性能要求
●数据库初始化同步
要求数据库复制软件能够将发卡系统的数据库中已有数据初始化同步到灾备中心数据库。
在初始化同步过程中,业务不能停止,但可选择业务量较小时段进行。
在解决方案书中要求详细描述初始化数据同步解决方案,以及整个首次同步操作所需要的时间(以100GB数据为标准),并且要求列出整个首次初始化过程中是否需要人为干预,从而可以有效地评估整个首次数据初始化的工作量。
为了保证生产中心日后业务扩展存在更换服务器厂商以及数据库版本等情况,需要注明是否支持异构平台下的首次数据初始化同步,是否支持跨数据库版本之间数据库的初始化同步操作。
●数据复制性能指标
数据复制的性能指标与系统平台、网络带宽、应用系统等因素密切相关,参照下列运行环境:
项目
配置
数据源
SF15K24个CPU,32GB存,ORACLE10.2.0.2RAC
目标端
SF15K24个CPU,32GB存,ORACLE10.2.0.2
总数据量
500GB左右(数据+索引)
每天的日志量
每天20GB日志
网络带宽
100M和20M
要求提供相应的性能参数指标:
类别
指标
参考值
首次数据初始化同步
首次数据库初始化同步时间(100M带宽)
小于10小时
首次数据库初始化同步时间(20M带宽)
小于48小时
首次数据库初始化同步源端CPU占用
小于30%
增量数据同步
(单个复制链路)
源端CPU占用
小于5%
目标端CPU占用
源端存占用
小于200M
目标端存占用
复制数据延迟平均值
10s以
业务高峰期对系统的影响
小于10%
一.3.5数据一致性
要求数据库复制软件提供数据库初始化同步、数据恢复后以及日常的数据一致性检查方案,要求方案中详细注明该数据一致性比对方案的特点以及操作复杂度,并可满足如下要求:
●可在应用不停机的情况下,查找和发现不一致的数据;
●一致性检查需要能够进行对象属性、记录条数和记录的字段容进行一致性检查;
●提供全库的记录级一致性检查时间(以100GB的数据为例)。
●支持不含PK/UK字段的表的一致性检查和修复。
请提供在没有PK/UK字段的表中有1000万条记录的比对时间。
对于不一致的数据,需要提供不一致记录详细信息,以便进行精确的修复,同时提供数据修复方案。
数据修复工作要求操作简单,修复速度快,且修复过程中不影响业务正常运行。
一.3.6系统兼容性
数据库复制软件应支持以下操作系统平台:
●SunSolaris9,10
●IBMAIX5.x
数据库复制软件应支持Oracle9i,Oracle10g,Oracle11g及后续数据库版本;
支持异构平台,源端和目标端不同数据库版本;
支持Cluster/HACMP和RAC模式,并支持不同操作系统下不同数据库版本之间的复制。
一.3.7高可用性
主系统和备用系统的数据库处于双活状态,以保证在灾难发生前可在两个系统上运行不同类型的应用程序。
数据库复制软件应支持本地Cluster/HACMP的高可用方式,在本地单节点出现故障时,可通过Cluster软件接管到其它节点。
一.3.8健壮性要求
数据库复制软件在各种大压力和各种故障情况下不会造成数据复制失败。
●网络故障:
长时间中断、短时间中断及网络时断时续情况下的正常复制;
●数据库故障:
在目标端数据库故障下,源端数据库不能受到影响。
当目标端数据库修复后,复制软件继续工作;
●服务器硬件故障:
在目标端服务器故障下,源端生产系统不能受到影响,当目标端修复后,复制软件继续工作。
一.3.9设备无关性
独立于任何硬件设备、操作系统和Oracle数据库的不同版本,能够实现不同平台之间数据库的复制。
一.3.10管理监控功能
数据库复制软件需提供统一的管理监控功能,能实现对复制软件的运行状态、运行日志、系统配置等方面进行统一的管理及监控,保证出现错误时具有完整方便的报警及跟踪机制,方便故障的快速定位和解决。
第二章OracleDataGuard介绍
容灾系统主要包括数据保护和应用切换两大方面,其中最为重要的是数据保护部分。
除了要将这些数据存放在高可用的存储设备上之外,最重要的是这些关键数据应该在异地之间保持一致,以使灾难发生后,系统可以尽快恢复。
下面是几种主要的数据保护技术。
实现数据的异地复制,有软件方式和硬件方式两种途径。
软件方式,是通过主机端软件来实现,如第三方软件或者数据库厂家提供的远程数据容灾工具来实现业务数据的远程复制。
硬件方式,是基于智能存储系统的控制器的远程拷贝,可以在主、备存储系统之间通过硬件实现复制。
在实际的容灾系统中,由于系统的环境不同,安全性要求不同以及采用的软硬件产品不同,数据复制过程中的工作机制也不尽相同。
概括地讲,数据复制地工作机制主要包括同步和异步两种。
同步远程镜像(同步复制技术)是指通过远程镜像软件,将本地数据以完全同步的方式复制到异地,每一本地的I/O事务均需等待远程复制的完成确认信息,方予以释放。
异步远程镜像(异步复制技术)保证在更新远程存储视图前完成向本地存储系统的基本I/O操作,而由本地存储系统提供给请求镜像主机的I/O操作完成确认信息,远程的数据复制以后台同步的方式进行。
因为带宽等因素限制,本次容灾方案仅包括了异步复制的方式的讨论。
二.1DataGuard实现原理
OracleDataGuard是当今保护企业核心资产(数据)的最有效解决方案,它能够使数据在24x7的基础上可用,而无论是否发生灾难或其它中断。
OracleDataGuard是管理、监控和自动化软件的基础架构,它创建、维护和监控一个或多个备用数据库,以保护企业数据结构不受故障、灾难、错误和崩溃的影响。
DataGuard使备用数据库保持为与生产数据库在事务上一致的副本。
这些备用数据库可能位于距生产数据中心数千公里的远程灾难恢复站点,或者可能位于同一城市、同一校园乃至同筑物。
当生产数据库由于计划中断或意外中断而变得不可用时,DataGuard可以将任意备用数据库切换到生产角色,从而使与中断相关的停机时间减到最少,并防止任何数据丢失。
作为Oracle数据库企业版的一个特性推出的DataGuard能够与其它的Oracle高可用性(HA)解决方案(如真正应用集群(RAC)和恢复管理器(RMAN))结合使用,以提供业前所未有的高水平数据保护和数据可用性。
下图提供了OracleDataGuard的一个概述。
OracleDataGuard包括一个生产数据库,也称为主数据库,以及一个或多个备用数据库,这些备用数据库是与主数据库在事务上一致的副本。
DataGuard利用重做数据保持这种事务一致性。
当主数据库中发生事务时,则生成重做数据并将其写入本地重做日志文件中。
通过DataGuard,还将重做数据传输到备用站点上,并应用到备用数据库中,从而使备用数据库与主数据库保持同步。
DataGuard允许管理员选择将重做数据同步还是异步地发送到备用站点上。
备用数据库的底层技术是DataGuard重做应用(物理备用数据库)和DataGuardSQL应用(逻辑备用数据库)。
物理备用数据库在磁盘上拥有和主数据库逐块相同的数据库结构,并且使用Oracle介质恢复进行更新。
逻辑备用数据库是一个独立数据库,它与主数据库包含相同的数据。
它使用SQL语句进行更新,其相对优势是能够并行用于恢复以及诸如报表、查询等其他任务。
DataGuard简化了主数据库和选定的备用数据库之间的转换和故障切换,从而减少了由计划停机和计划外故障所导致的总停机时间。
主数据库和备用数据库以及它们的各种交互可以使用SQL*Plus来进行管理。
为了获得更简便的可管理性,DataGuard还提供了一个分布式管理框架(称为DataGuardBroker),它不但自动化了DataGuard配置的创建、维护和监控,并对这些操作进行统一管理。
管理员可以使用OracleEnterpriseManager或Broker自己的专用命令行界面(DGMGRL)来利用Broker的管理功能。
下图显示了OracleDataGuard组件。
二.2OracleDataGuard优势
灾难恢复和高可用性—DataGuard提供了一个高效和全面的灾难恢复和高可用性解决方案。
易于管理的转换和故障切换功能允许主数据库和备用数据库之间的角色转换,从而使主数据库因计划的和计划外的中断所导致的停机时间减到最少。
完善的数据保护—使用备用数据库,DataGuard可保证即使遇到不可预见的灾难也不会丢失数据。
备用数据库提供了防止数据损坏和用户错误的安全保护。
主数据库上的存储器级物理损坏不会传播到备用数据库上。
同样,导致主数据库永久损坏的逻辑损坏或用户错误也能够得到解决。
最后,在将重做数据应用到备用数据库时会对其进行验证。
有效利用系统资源—备用数据库表使用从主数据库接收到的重做数据进行更新,并且可用于诸如备份操作、报表、合计和查询等其它任务,从而减少执行这些任务所必需的主数据库工作负载,节省宝贵的CPU和I/O周期。
使用逻辑备用数据库,用户可以在模式中不从主数据库进行更新的表上执行数据处理操作。
逻辑备用数据库可以在从主数据库中对表进行更新时保持打开,并可同时对表进行只读访问。
最后,可以在维护的表上创建额外索引和物化视图,以获得更好的查询性能和适应特定的业务要求。
灵活的数据保护功能,从而在可用性与性能要求之间取得平衡—OracleDataGuard提供了最大保护、最高可用性和最高性能等模式,来帮助企业在系统性能要求和数据保护之间取得平衡。
自动间隔检测及其解决方案—如果主数据库与一个或更多个备用数据库之间的连接丢失(例如,由于网络问题),则在主数据库上生成的重做数据将无法发送到那些备用数据库上。
一旦重新建立连接,DataGuard就自动检测丢失的存档日志序列(或间隔),并将必要的存档日志自动传输到备用数据库中。
备用数据库将重新与主数据库同步,而无需管理员的任何手动干预。
简单的集中式管理—DataGuardBroker使一个DataGuard配置中的多个数据库间的管理和操作任务自动化。
Broker还监控单个DataGuard配置的所有系统。
管理员可以使用OracleEnterpriseManager或Broker自己专用的命令行界面(DGMGRL)来利用这个集成的管理框架。
与Oracle数据库集成—OracleDataGuard是作为Oracle数据库(企业版)的一个完全集成的功能提供的,无需任何额外费用。
二.3DataGuard提供的保护模式
Oracle针对用户的不同需求提供三种保护模式:
最大保护模式、最大性能模式、最大可用模式。
Oracle提供的DataGuard在最大保护模式下可以确保数据完全不丢失。
它在写本地日志的同时写远程standby的数据库日志。
只有两个日志均写成功后一个操作才是正式完成。
这种方式确保了数据的最大安全,能够确保主数据库损坏的情况下没有任何数据丢失。
但这种情况对主数据库性能有较大的影响,即使在高速的局域网,最大保护模式也会对主数据库性能有超过10%的性能影响。
这种方式对主备两个数据库之间的链路有非常高的要求。
在这种保护模式下无论是网路链路还是standby数据库等发生故障导致日志无常写均会导致主数据库无法使用。
因此只有在对数据安全要求最高的情况下才会考虑使用这种方式。
Oracle也提供最大性能模式。
这种模式下,不传输实时修改的日志文件,传递的是归档日志文件,因此对主数据库性能影响很小。
归档日志文件传递是否能够成功对主数据库运行没有任何影响,因此在网络出现中断或者standby数据库出现异常也不会影响主数据库的正常运行。
但因为日志没有同步写,因此在灾难发生的时候备份数据库与主数据库可能有一定的数据差异。
Oracle提供的第三种模式是上述两种方式的折中。
在网络正常的情况下它的运行方式类似于最大保护模式,日志实时传递。
当网络或standby出现故障的时候它的运行模式类似于最大性能模式,日志延迟传递,不会导致主数据库停止运行。
这种方式在正常情况下因为日志实时传递,因此同样对主数据库性能有较大影响,而且对网络链路要求较高。
综上所述,不同的保护模式比较如下:
最大保护
最大可用
最大性能
对主数据库性能影响
较高
低
对网络链路要求
极高
高
备份系统发生故障
主数据库不可用
无影响
数据保护
无数据丢失
基本无数据丢失
少量数据丢失
二.4DataGuard实现方式以及对系统的限制要求
Oracle针对不同的用户情况提供的两种不同的standby方式。
物理standby,逻辑standby。
物理standby数据库,在通常的模式下备份库始终处于恢复状态,用户无法访问备份库的数据。
如果需要访问数据,需要将恢复模式停止,将数据库打开到只读状态。
这两种状态是排它的,也就是说数据库要么是恢复状态,保持和主数据库一致,在这种状态下数据库容不可访问;
要么是只读状态,数据库不会做恢复与主数据保持一致。
Oracle还提供逻辑standby数据库。
这种方式下数据库可以在打开的状态下保持与主数据库的同步工作。
这种打开状态和普通的数据库open状态不同,不能对数据做修改。
这种方式通常用于繁忙的系统,如主数据库日常完成业务处理,逻辑standby数据库在完成容灾的同时分担主数据库的查询统计工作。
这样大大节约了系统资源。
但这种方式对数据库有一定的限制,并不是所有的系统都能够支持。
部分较为特殊的数据类型不支持,另外所有的表必须要有主键或者唯一性索引。
无论是物理standby还是逻辑standby均对系统要求如下:
●主备数据库必须是完全相同的硬件架构,如均为SUN平台。
机器的存大小、CPU数量主频可以不同。
●操作系统版本、补丁完全相同。
●数据库版本完全相同。
但RAC选件可以不同。
即主数据库可以是RAC模式,备份节点可以是单机。
二.5切换方式
OracleDataGuard可以实现failover以及switchover的切换。
Switchover指有计划的切换。
如系统主数据库服务器需要硬件维护等有计划的停机操作。
这时候可以手工将所有的日志以及归档日志文件传输到备份节点后执行switchover的切换。
这种情况下等主数据库恢复正常后系统可以手工切换回来。
Failover切换是指系统出现了异常情况下的切换。
系统管理员发现主数据库服务器无法提供服务,决定启动容灾系统。
在这种情况下的切换后如果主数据库服务器恢复正常后需要重新配置整个DataGuard环境,无法切换回主数据库服务器。
无论是那种切换方式,主备系统之间均存在部分差别。
如IP地址不同,需要修改服务器IP地址或应用程序重新指向。
因为在不同的局域网,应用中间件需要跨防火墙访问系统。
机器档次不同、网络带宽不同造成的性能下降等问题。
这需要在容灾的预案中考虑。
第三章系统建议方案
针对本容灾方案,我们推荐采用OracleDataGuard技术。
三.1DataGuard优势
●节约投资
OracleDataGuard是Oracle原厂自带的容灾产品。
该产品完全免费。
在容灾软件上用户无需支付额外费用,这可以大大节约用户的资金投入。
●技术成熟、稳定
早在Oracle7版本就已经推出该功能(当时名称为Standby数据库)。
其核心采用了Oracle成熟的归档、备份、恢复技术。
经过多年不断的发展,已经成为一项技术成熟、稳定,有广泛成功案例的技术。
●对系统运行性能影响小
DataGuard在主数据库服务器端不存在对日志解析等工作,仅需要主数据库服务器端将归档日志文件传输到容灾节点。
因此对生产系统性能影响极小。
●能够满足用户基本业务需求
DataGuard能够满足用户基本的数据容灾、RTO、RPO、带宽等相关基本业务需求。
三.2DataGuard运行模式
Oracle提供了物理DataGuard以及逻辑DataGuard两种不同的方式。
这两种方式各有优缺点。
因为用户数据库中存在大量表,这些表没有PK/UK;
因此无法满足逻辑DataGuard的使用前提条件。
在本方案中,我们推荐采用物理DataGuard的方式。
三.3DataGuard保护模式
根据用户的实际情况,在主数据库服务器和容灾数据库服务器之间距离较远,使用最大保护模式和最大可用模式均会严重影响主数据库的运行性能。
用户允许在出现异常情况下15分钟的数据丢失量,因此采用最大性能模式可以在现有带宽的情况下满足用户的容灾需求。
采用最大性能模式,系统不会实时传输日志文件,传递的是归档日志文件,因此对主数据库性能影响很小。
三.4DataGuard初始安装步骤
1、确认主数据库运行于归档模式
如果主数据库没有处于归档模式,那么需要将数据库运行模式修改为归档模式。
该修改过程需要短暂停止数据库运行。
2、物理备份主数据库的所有数据文件
该部分工作可以在不影响业务正常运行的情况下执行。
该部分工作依据数据量以及I/O速度不同,所需要的时间也不同。
一般估算,100G的数据应在1小时备份完成。
该备份操作启动后无需人为干预。
3、在主数据库创建standby控制文件
通过命令创建灾备中心的控制文件。
4、拷贝备份的数据文件、standby控制文件及日志文件到备份节点。
因为数据量较大,可以将备份的文件压缩后传递。
100G的备份文件经压缩,通常压缩率在40%-50%之间。
100G文件压缩后约50G。
在网速为20M带宽的情况下,假设网络利用率为70%,那么速度约为6G/每小时;
50G的文件需要9个小时传递完成。
在网速为100M带宽的情况下,假设网络利用率为70%,那么速度约为30G/每小时;
50G的文件需要1.5个小时传递完成。
在数据传输启动后无需人为干预。