基于DDS的Oracle灾备方案(2)


1.DataGrid DDS数据复制系统建设方案

  1.1. 需求分析

  我国证券企业的数据保护系统建设目前还处在起步阶段,大多只拥有简单的备份手段,而且目前的备份手段多是基于应用开发,对业务交易系统影响较大,只能提供数据库表级别的备份和恢复,在手段上比较单一。因此,目前的证券企业对交易系统的数据保护需求是非常迫切的,尤其是在普遍采用集中交易模式之后,数据丢失的风险和可能带来的经济损失进一步的增加。而最重要的交易数据就存在于后台系统。对核心数据库和系统的数据保护将成为整个灾备系统建设需求的重点。

  1.2. DataGrid DDS 数据复制方案

  在此,我们提出灾备统一的数据复制保护方案。推荐使用具有国际领先技术的DataGrid DDS数据库远程灾备产品,能够支持跨平台远程的Oracle数据实时复制。能够预防自然灾害、系统宕机等物理故障,快速实施系统切换。满足当前和未来证券公司对灾备的需要。

  1.2.1.软件部署

  DataGrid DDS同时支持实时复制和定时复制两种工作模式,实时复制一般用于容灾,定时复制一般用于备份。一般情况下,本地建立一套定时复制系统,远程建立一套实时容灾系统,采用一对多的复制拓扑结构,由两个系统完成统一的灾备部署。

  如果有多套Oracle生产数据库,例如基金公司主要有4个系统,则可以使用多对一的复制模式,用一个灾备库存储所有生产系统的数据,进行集中灾备。每个应用系统的数据与灾备库的数据以schema为单位一一对应。

  1.2.2.拓扑结构

  -企业总部-

  存储系统

  100/1000M

  灾备数据流

  -容灾中心-

  交易系统Unix+Oracle

  灾备系统

  容灾系统

  Unix+Oracle

  2/10M

  DataGrid DDS

  本地灾备

  DataGrid DDS

  DataGrid DDS

  远程灾备

  1.2.3.软件安装配置

  DataGrid DDS复制软件分为Source和Target两个部分,Source模块安装在复制的源端;Target模块安装在复制的目标端。源端和目标端互相对应。

  为了实现数据复制,首先需要安装和配置DataGrid DDS软件:

  软件安装包括数据源端和复制目标端的软件安装,二者在安装时都不会对系统的运行产生影响,从而无需业务中断。

  同时,DataGrid DDS的参数配置也非常简单,只需要配置所有参加复制的服务器IP地址和port号,以及参加复制的database的参数等。

  复制关系的映射有两种方式:1、以表为单位;2、以用户为单位。对于那些数据库中拥有大量数据表(table)的系统,采用DataGrid DDS 以“USER”为复制单位的配置复制关系比较简单。

  1.2.4.初始化复制环境、进行初始数据同步

  复制环境的建立,首先需要将生产系统中的已有数据初始化同步到目标系统上,同时记录各种系统状态和映射关系等。因此如何快速、有效的建立复制的初始化环境是每个复制系统都非常关心的问题。

  在传统办法中,数据首次同步过程大都采用Oracle的EXP/IMP工具,将源端数据库数据抽取出来,通过网络传输至目标端数据库进行加载。或者是借助第三方的备份软件工具,将源端的数据进行备份,再通过磁带运输至目的地,将磁带数据恢复到目标数据库,从而达到首次数据同步的目的。

  这种方式存在大量的问题:

  1.性能低下:通过Export/Import方式,最大的问题在于性能很慢,对于一个几十GB的数据库,进行一次export/import,则大约费时8-10小时以上。

  2.完全需要手工干预:数据的导出(Export),传输和装载(Import)等过程都需要手工干预和执行。

  3.业务必需停止:在执行export/imp过程中,业务一般需要中断。

  4.易出错:尤其在Import过程中,由于表之间的关联性存在,往往出现由于违反参照完整性规则而导致装载中断,非常难于操作。

  而DATAGRID DDS在数据的一致性同步方面有着非常好的解决方案,这是其它方案所不具备的。DataGrid DDS集成有数据的一致性同步工具,能够自动化的进行数据的首次同步和出现差异情况下进行一致性同步的工作,无需人工干预,维护工作量小,且大大提高了工作效率:

  1.速度快:对于几十GB的数据量,在系统正常且带宽充足的情况下,只需要1小时左右完成初始数据同步。

  2.完全自动化:采用DataGrid DDS只需要1条命令就完成系统的初始化工作,系统自动进行导出、传输和装载任务,完全无需人为干预,减少出错机会。

  3.不中断业务:在DataGrid DDS在进行首次数据同步时,无需停止交易生产业务,实现不停机的系统初始化;

  1.2.5.实时复制

  当对系统的初始化环境工作结束后,DataGrid DDS自动进入实时复制状态,无需手工干预。

  1.2.6.灾难后的数据恢复

  在业务数据库系统发生灾难的情况下,此时可使用灾备数据库首先接管业务,然后进行数据的反向恢复。具体步骤为:

  1.数据库发生灾难,业务交易业务停止;

  2.修改TNS的指向,将业务指向灾备的数据库,接管业务;

  3.应用系统重新连接灾备数据库,完成业务接管;

  4.停止DataGrid DDS复制进程;

  5.排除系统故障;

  6.恢复原业务系统的Oracle数据库

  7.启动DataGrid DDS进程

  8.将数据反向批量同步到原系统上,此过程中灾备数据库继续进行业务处理,无需中断

  9.数据重新同步结束后,停止灾备数据库的业务

  10.修改TNS指向,将业务指向原来的(已经恢复的)数据库

  11.应用系统重新连接集中交易数据库,完成业务回切

  12.配置DataGrid DDS进行正向复制

  以上过程是利用灾备中心的系统首先接管业务后,再进行生产中心的修复和数据的反向复制,因此不会造成长时间的业务中断。
DataGrid DDS解决方案在一般性灾难发生时不存在数据丢失。这些一般灾难包括数据库失败、操作系统失败等等。对于一些极端的情况下,掉电、站点失败时,DataGrid DDS也作了大量测试不会出现数据丢失(但从理论上讲这些极端情况无法100%避免数据丢失,因为这种情况可能造成了系统的严重破坏)。

  *.网络失败:网络恢复时继续复制,没有数据损失。

  *.数据库关闭:数据库恢复时从断点继续复制,没有数据损失。

  *.操作系统重起:重新启动复制软件,从断点处继续复制,没有数据损失。

  *.掉电:DataGrid Replication也作了大量测试不会出现数据丢失(但从理论上讲这些极端情况无法100%避免数据丢失,因为这种情况可能造成了系统的严重破坏)。不过对于重要的生产系统一般通过UPS预防断电情况,发生概率非常小.。

  *.站点失败:由于目标系统在线可用,不存在任何数据风险。但对于还没来得及传输到目标系统的数据可能出现丢失。

  1.3.2.数据延迟

  DataGrid DDS是一种异步准实时的复制技术,其数据延迟非常小。数据延迟的周期可以设置,在生产系统中,数据延迟和源系统复制事物的多少,事物的处理方式有关,以及跟设置的log数据轮询周期有关。在复制数据量正常的OLTP系统中,数据延迟一般在几秒钟。

  1.3.3.复制环境的健壮性

  DataGrid DDS方案具备足够的健壮性。源系统和目标系统的任何故障都不会影响到复制环境。在以下故障发生时,DataGrid DDS故障处理方法如下:

  *.源系统主机故障:源系统主机故障修复后,当Oracle数据库和操作系统重新启动后,DataGrid DDS自动重试连接数据库,并从断点继续进行复制工作。

  *.数据库故障:当源系统数据库故障修复后,当Oracle数据库重新启动后,可以从断点继续进行复制工作。

  *.复制软件故障:当复制软件的进程遇到问题时,可以自动重起相关进程。如果不能自动重启,也可手工重启进程。进程的重启不会对复制数据产生影响。

  *.网络故障:当网络恢复后可以自动从断点进行复制工作。

  *.目标系统的主机故障:数据存储在目标系统队列中,当目标系统主机故障修复后,从断点继续进行复制工作。

  *.数据库故障:数据存储在目标系统队列中,当目标系统数据库修复后,从断点继续进行复制工作。

  1.3.4.事物的完整性和可用性

  DataGrid DDS是一个数据库级的软件解决方案,其复制的基本单位就是一个事务(Transaction),DataGrid DDS在从oracle log中读取到交易数据后,根据交易的关系,将属于一个事务的所以操作组合在一起,以一个基本单位发送给目标端,目标端在执行时也严格按照交易进行,因此严格保证了交易的完整性。

  对于事务与事务之间的顺序,DataGrid DDS严格按照ORACLE 的SCN标记进行排序。确保事务之间的先后秩序。

  1.3.5.复制系统资源占用

  1.3.5.1.对源系统性能的影响

  与其它类型的复制产品比较,DataGrid DDS要求的整体系统资源很少。无须采购指定型号的硬件,如磁盘阵列;不需要特殊基础软件配合,如专用文件系统;也不需要应用软件支持,完全无关。

  对于单个系统的资源使用,平均的CPU利用率为5%左右,内存使用小于100MB,在没有交易处理工作的时候,不占用系统资源。这样的资源使用基本不会对数据库的运行产生任何影响。

  同时,DataGrid DDS在安装调试过程不会改动数据库,也不涉及文件系统、操作系统和数据卷。完全能够在业务系统不停机甚至工作状态下实施安装、调试。而其他的解决方案可能需要停机,甚至改动软硬件的配置。对生产系统将会产生较大的影响。

  1.3.5.2.对网络资源的使用

  DataGrid DDS方案所需网络带宽很少,能够在有限传输带宽上保证复制工作不延迟。

  因为DataGrid DDS复制操作只是读取操作系统的日志文件,同时通过TCP/IP方式而不是采用中间件方式传输只发生改变的数据也使网络负载降至最低。通常情况下DataGrid DDS传输的数据量只相当于日志的三分之一,而且传输过程中还有压缩机制。

  1.3.5.3.对系统扩容的影响

  DataGrid DDS解决方案对今后的扩容没有任何影响。使用DataGrid DDS,源数据库和目标数据库可以运行在不同类型的操作系统和同一Oracle数据库的不同版本上。同时,也能够支持不同类型的磁盘阵列。这不仅能够满足目前异构环境,还能适应未来的扩展需求。随着业务量规模的不断扩大,在硬件升级时,新旧硬件产品可以随意调换,不受限制


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3