1、能够支持所有系统平台,跨多种Windows/Linux操作系统和大型机平台、不同Oracle版本之间的交易复制。并且复制的目标数据库为在线打开状态,可以随时复用。因此,非常适合于异构热容灾、 数据迁移、数据实时复制等领域。 本方案根据XX系统数据库灾备方面的规划需要,着重考虑合理地设计和建设基于Oracle数据库的数据灾备需求的解决方案,满足证券系统业务的连续性和高可用性的要求。此外,随着业务的不断深入以及市场竞争的需要,数据应用成为另一个业内的热点。在本方案中将向用户介绍,以iStream 数据复制系统(下简称iStream)为核心的企业第二数据中心和查询应用平台,将如何高效的利用交易数据,
2、快速的查询、分析数据。1.1 iStream产品简介 1.2.1 iStream软件的设计原则和基本架构iStream使用经典计算机编程语言C语言来编写,整个软件架构软件采用模块化设计,与Oracle数据库的设计原则相似,采用多进程模式进行抓取和装载,每个进程负负责特定任务。1.2.1.1 iStream软件的整体架构主要工作流程:1. iStream首先完成历史数据复制,历史数据即使首次同步时数据库原有的数据,历史数据同步完成之后开始增量同步。2. 源端软件相应的ptrack进程跟踪抓取数据库中的在线日志(redolog),对实时变化的交易数据日志进行快速抓取3. 在share memory
3、中使用pmerg进程过滤分析,并合成传输文件,三分之一的日志将被抓去放到缓存队列中,然后将文件压缩,压缩比例为大于9:1,使用pcomm进程将文件通过网络传输到目标端4. 目标端将接受传输文件,按照相应的交易顺序装载入库。在此期间,目标端数据库始终处于open状态,可以进行准实时的数据查询工作。1.2.1.2 iStream软件源端体系架构图源端进程介绍:DDS_PMONS负责建立共享内存、信号灯、消息队列,监控系统其它进程的状态,重起异常退出进程并报告状态DDS_PMSGS负责收集其它所有进程报告的各种错误信息,将错误信息存放到文件 msg.log中。DDS_PRECVS负责接收界面发送来的
4、管理命令并执行,同时也负责全同步时历史数据的复制。DDS_PTRACK负责跟踪数据库redo log动态增量信息,并抓取变化的redo log块。DDS_PMERGE负责将DDS_PTRACK 抓取量信息进行分析、过滤、合成交易文件。DDS_PCOMM负责将DDS_PMERGE 合成的交易文件发送到目标端DDS_PCLEAN负责将 DDS_PMERGE和DDS_PCOMM没有成功处理的数据包提交进行处理1.2.1.3 iStream软件目标端架构目标端进程介绍:DDS_PMONT负责建立共享内存、信号灯、消息队列,监控系统其它进程的状态,重起异常退出进程并报告状态DDS_PMSGT负责收集其它
5、所有进程报告的各种错误信息,将错误信息存放到文件 $DDS_DATA/msg.log中DDS_PRECVT负责接收界面发送来的管理命令并执行,并接收交易文件到指定的目录中;DDS_PPUT负责将装载历史、增量信息到数据库中,并记录相关信息。也负责数据的比对。1.2.2 iSteam软件使用的关键技术1.2.2.1 日志分析技术简介iStream软件是直接通过读取Oracle日志来分析出交易内容,而不是通过数据库表来得到,这样将不依赖数据库本身的数据内容而直接得到交易信息。从而大大加快了合成交易文件的速度。日志分析技术流程如下图:1.2.3 iStream软件的运行环境1.2.3.1 操作系统和
6、数据库版本支持iStream软件支持所有主流操作系统以及Oracle数据库版本之间的跨平台跨数据版本复制,内容详见下表:操作系统平台Oracle版本9i 10g11gRACASMAIX 5LAIX 6L HP-UX 11i(PA-RISC) HP-UX 11i(IA-64) Solaris8/9/1(SPARC)RHEL4/5(x86)SLES9(x86) SLES10(x86) WINDOWS2003/2008/xp 1.2.3.2 iStream支持的数据类型列表支持总项目支持项目支持内容备注数据准确(DML部分)tableInsert/update/deletePartition tab
7、les数据准确(DDL部分)TableCreate/truncate/dropcolumnsAdd/modify/dropconstraintsindexesCreate/alter/dropviewssequencesfunctionsPackage( body)proceduresTriggerSynonymCreate/dropRoleGrant/revoke数据类型Oracle自带类型Blob/clob/long/bfileISTREAM支持所有Oracle自带数据类型Number/ TIMEChar/varchar2/nvarchar2用户定义类型USER DEFINED TYPE平
8、台方面Hp/ibm/solaris/linux/windowsOracleOracle9i/10G/11G归档/非归档File/lv/ocfs/asm特性同步模式一对一or一对多or多对一or组合双向同步同步方式只全同步or增量or组合交易回退表的dml/truncate/drop单表同步增量过程中,单表全同步支持在线初始化首次同步允许有交易。同步对象用户、表、组健壮性网络中断断点续传,无人工干预目标端停止复制软件断点续传1.2.4 iStream软件为用户提供的解决方案1.2.4.1 提高系统可用性iStream 软件可以帮助用户提高交易系统Oracle数据库的可用性,无论是执行计划内停机(
9、如系统升级、备份)还是遇到非计划故障引起的宕机(例如硬件故障、灾难、人为错误等),iStream 都能尽量减少业务切换的时间,提高可用性。能够最大限度地减少数据丢失、经济损失以及生产力的降低。下图表示交易系统切换后,业务交易在容灾系统上继续执行的示例。1.2.4.2 灾难恢复对于大部分公司而言,容灾是一项巨大的工程,意味着高额的资金投入和人力成本。受到传统复制技术的限制,容灾必须拥有专用的硬件支持、专用的传输链路、容灾距离以及系统平台等诸多的限制。此外由于传统容灾系统的不能时时使用的特性,导致不但风险不能评估,而且巨大的投入也可能得不到任何回报。iStream 使用逻辑数据容灾技术,传递的是交
10、易信息,因此传输数据量很小,保证了在低带宽环境下实现低延迟的Oracle交易异步复制,是一种高效且低成本的数据库容灾方式。iStream 使用标准的IP网络进行通讯,容灾端的Oracle数据库可以部署在本地或远程容灾中心,距离没有限制。此外,由于复制的目的端数据库始终处于打开状态,因此,当生产数据库遇到计划内或非计划停机时,iStream 能够支持前端应用程序快速、无缝的切换到容灾数据库。与其它基于磁盘或文件系统的物理复制技术相比,不但省略了漫长的数据库recovery和启动时间,而且能够保证100%的切换成功率。当源端应用系统数据库在恢复正常使用后,可以通过iStream 将容灾端数据再次复
11、制到源端数据库中,从而达到互为容灾的目的。下图表示,交易系统恢复正常后,容灾系统数据复制到原交易系统上的示例。1.2.4.3 分担交易业务iStream 逻辑交易复制技术保证了目的端数据库始终处于可用状态,因此对于iStream 所复制的schema只能做只读应用之外,新创建的shema不会对复制本身产生任何影响,对于即席查询、报表处理、数据备份、统计分析等业务或应用都可以放在复制的目标数据库上进行处理。多种应用也不必在同一个交易数据库上争夺处理资源和时间窗口。生产系统运行和维护的压力得以释放,提高了稳定性,而不同的应用在分布的数据库上也可以进行有针对性的优化。下图表示在容灾系统做业务查询、报
12、表处理、数据备份、统计分析等应用的示1.2.3.4 业务数据分发iStream 能够完成企业范围内的数据分发,从交易数据生产库实时复制到一个或多个本地或异地的数据库中。iStream 支持多种数据分发拓扑结构,一对一、一对多、多对一、级联复制以及组合的数据分发模式。数据分发是一种典型的通过部署多服务器、多数据库来分担负载,提高响应速度的企业应用模式。下图表示交易系统的业务数据同时分发到不同目标端的示例。1.2.4.5 配合业务交易,容灾系统完全恢复交易iStream 在每提交一个合成的交易文件后,都会在目的端共享内存中记录最后一个完成装载的交易的源端提交时间。并且通过iStream提供的工具可以将共享内存显示出来,以方便不
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1