iStream容灾备份解决方案.docx
《iStream容灾备份解决方案.docx》由会员分享,可在线阅读,更多相关《iStream容灾备份解决方案.docx(38页珍藏版)》请在冰豆网上搜索。
![iStream容灾备份解决方案.docx](https://file1.bdocx.com/fileroot1/2022-10/29/d26faa33-ffa2-4a0d-979f-bacdead62211/d26faa33-ffa2-4a0d-979f-bacdead622111.gif)
iStream容灾备份解决方案
1iStream数据库复制系统技术实现方案
1.1项目概述
在企业信息化进程不断加快的今天,保持业务的持续性是企业用户进行数据存储时必须考虑的重要方面。
灾难的出现,可能导致生产停顿、客户满意度降低,企业的竞争力会因此大打折扣。
震惊世界的“9.11”事件发生后,全世界都看到了金融、电信等行业用户在灾难中的巨大损失。
在灾难后如何快速、正确地恢复业务系统就成为摆在企业面前的一个难题。
金融证券是我国国计民生的最重要环节之一,同样面临着如何应对灾难,以求防患于未然。
在业务日新月异的今天,信息技术部门格外看重证券实时交易软件系统的数据保护。
试想一下,如果证券系统的数据遭遇灾难而不能恢复的话,业务将无法正常运行,那么将造成重大的无法弥补的损失。
因此,信息系统的安全性和抗灾难能力直接关系到证券公司,乃至国家的切身利益,尽可能地保证系统的安全性是必须重点考虑的。
一个先进的、完善的灾备系统将全力的保护证券业务系统的稳定运行,让证券公司在业务飞速发展的同时没有后顾之忧。
现在,我们很欣喜的看到,XX在整合业务系统的同时就考虑了灾备平台的建设,并对灾备系统高度重视。
iStream是新一代数据库逻辑复制软件。
利用数据库日志在线跟踪、分析技术,将生产数据库的交易信息以事务为单位,通过异步的方式,实时的传递、装载到目标数据库中,以达到源端、目标端复制数据保持同步的目的。
软件不依赖硬件的复制能力,支持多种系统平台,具有部署简单、复制速度快、交易延迟时间短的特点;能够支持所有系统平台,跨多种Windows/Linux操作系统和大型机平台、不同Oracle版本之间的交易复制。
并且复制的目标数据库为在线打开状态,可以随时复用。
因此,非常适合于异构热容灾、数据迁移、数据实时复制等领域。
本方案根据XX系统数据库灾备方面的规划需要,着重考虑合理地设计和建设基于Oracle数据库的数据灾备需求的解决方案,满足证券系统业务的连续性和高可用性的要求。
此外,随着业务的不断深入以及市场竞争的需要,数据应用成为另一个业内的热点。
在本方案中将向用户介绍,以iStream数据复制系统(下简称iStream)为核心的企业第二数据中心和查询应用平台,将如何高效的利用交易数据,快速的查询、分析数据。
1.1iStream产品简介
1.2.1iStream软件的设计原则和基本架构
iStream使用经典计算机编程语言C语言来编写,整个软件架构软件采用模块化设计,与Oracle数据库的设计原则相似,采用多进程模式进行抓取和装载,每个进程负负责特定任务。
1.2.1.1iStream软件的整体架构
主要工作流程:
1.iStream首先完成历史数据复制,历史数据即使首次同步时数据库原有的数据,历史数据同步完成之后开始增量同步。
2.源端软件相应的ptrack进程跟踪抓取数据库中的在线日志(redolog),对实时变化的交易数据日志进行快速抓取
3.在sharememory中使用pmerg进程过滤分析,并合成传输文件,三分之一的日志将被抓去放到缓存队列中,然后将文件压缩,压缩比例为大于9:
1,使用pcomm进程将文件通过网络传输到目标端
4.目标端将接受传输文件,按照相应的交易顺序装载入库。
在此期间,目标端数据库始终处于open状态,可以进行准实时的数据查询工作。
1.2.1.2iStream软件源端体系架构图
源端进程介绍:
DDS_PMONS负责建立共享内存、信号灯、消息队列,监控系统其它进程的状态,重起异常退出进程并报告状态
DDS_PMSGS负责收集其它所有进程报告的各种错误信息,将错误信息存放到文件msg.log中。
DDS_PRECVS负责接收界面发送来的管理命令并执行,同时也负责全同步时历史数据的复制。
DDS_PTRACK负责跟踪数据库redolog动态增量信息,并抓取变化的redolog块。
DDS_PMERGE负责将DDS_PTRACK抓取量信息进行分析、过滤、合成交易文件。
DDS_PCOMM负责将DDS_PMERGE合成的交易文件发送到目标端
DDS_PCLEAN负责将DDS_PMERGE和DDS_PCOMM没有成功处理的数据包提交进行处理
1.2.1.3iStream软件目标端架构
目标端进程介绍:
DDS_PMONT负责建立共享内存、信号灯、消息队列,监控系统其它进程的状态,重起异常退出进程并报告状态
DDS_PMSGT负责收集其它所有进程报告的各种错误信息,将错误信息存放到文件$DDS_DATA/msg.log中DDS_PRECVT负责接收界面发送来的管理命令并执行,并接收交易文件到指定的目录中;
DDS_PPUT负责将装载历史、增量信息到数据库中,并记录相关信息。
也负责数据的比对。
1.2.2iSteam软件使用的关键技术
1.2.2.1日志分析技术简介
iStream软件是直接通过读取Oracle日志来分析出交易内容,而不是通过数据库表来得到,这样将不依赖数据库本身的数据内容而直接得到交易信息。
从而大大加快了合成交易文件的速度。
日志分析技术流程如下图:
1.2.3iStream软件的运行环境
1.2.3.1操作系统和数据库版本支持
iStream软件支持所有主流操作系统以及Oracle数据库版本之间的跨平台跨数据版本复制,内容详见下表:
操作系统平台
Oracle版本
9i
10g
11g
RAC
ASM
AIX5L
√
√
√
√
√
AIX6L
√
√
√
√
√
HP-UX11i(PA-RISC)
√
√
√
√
√
HP-UX11i(IA-64)
√
√
√
√
√
Solaris8/9/1(SPARC)
√
√
√
√
√
RHEL4/5(x86)
√
√
√
√
√
SLES9(x86)
√
√
√
√
√
SLES10(x86)
√
√
√
√
√
WINDOWS2003/2008/xp
√
√
√
√
√
1.2.3.2iStream支持的数据类型列表
支持总项目
支持项目
支持内容
备注
数据准确(DML部分)
table
Insert/update/delete
√
Partitiontables
Insert/update/delete
√
数据准确(DDL部分)
Table
Create/truncate/drop
√
columns
Add/modify/drop
√
constraints
Add/modify/drop
√
indexes
Create/alter/drop
√
views
Create/alter/drop
√
sequences
Create/alter/drop
√
functions
Create/alter/drop
√
Package(body)
Create/alter/drop
√
procedures
Create/alter/drop
√
Trigger
Create/alter/drop
√
Synonym
Create/drop
√
Role
Create/drop
√
Grant/revoke
√
数据类型
Oracle自带类型
Blob/clob/long/bfile
ISTREAM支持所有Oracle自带数据类型
Number/TIME
Char/varchar2/nvarchar2
用户定义类型
USERDEFINEDTYPE
√
平台方面
操作系统平台
Hp/ibm/solaris/linux
/windows
√
Oracle
Oracle9i/10G/11G
√
归档/非归档
√
File/lv/ocfs/asm
√
特性
同步模式
一对一or一对多or多对一or组合
√
双向同步
√
同步方式
只全同步or增量or组合
√
交易回退
表的dml/truncate/drop
√
单表同步
增量过程中,单表全同步
√
支持在线初始化
首次同步允许有交易。
√
同步对象
用户、表、组
√
健壮性
网络中断
断点续传,无人工干预
√
目标端停止复制软件
断点续传
√
1.2.4iStream软件为用户提供的解决方案
1.2.4.1提高系统可用性
iStream软件可以帮助用户提高交易系统Oracle数据库的可用性,无论是执行计划内停机(如系统升级、备份)还是遇到非计划故障引起的宕机(例如硬件故障、灾难、人为错误等),iStream都能尽量减少业务切换的时间,提高可用性。
能够最大限度地减少数据丢失、经济损失以及生产力的降低。
下图表示交易系统切换后,业务交易在容灾系统上继续执行的示例。
1.2.4.2灾难恢复
对于大部分公司而言,容灾是一项巨大的工程,意味着高额的资金投入和人力成本。
受到传统复制技术的限制,容灾必须拥有专用的硬件支持、专用的传输链路、容灾距离以及系统平台等诸多的限制。
此外由于传统容灾系统的不能时时使用的特性,导致不但风险不能评估,而且巨大的投入也可能得不到任何回报。
iStream使用逻辑数据容灾技术,传递的是交易信息,因此传输数据量很小,保证了在低带宽环境下实现低延迟的Oracle交易异步复制,是一种高效且低成本的数据库容灾方式。
iStream使用标准的IP网络进行通讯,容灾端的Oracle数据库可以部署在本地或远程容灾中心,距离没有限制。
此外,由于复制的目的端数据库始终处于打开状态,因此,当生产数据库遇到计划内或非计划停机时,iStream能够支持前端应用程序快速、无缝的切换到容灾数据库。
与其它基于磁盘或文件系统的物理复制技术相比,不但省略了漫长的数据库recovery和启动时间,而且能够保证100%的切换成功率。
当源端应用系统数据库在恢复正常使用后,可以通过iStream将容灾端数据再次复制到源端数据库中,从而达到互为容灾的目的。
下图表示,交易系统恢复正常后,容灾系统数据复制到原交易系统上的示例。
1.2.4.3分担交易业务
iStream逻辑交易复制技术保证了目的端数据库始终处于可用状态,因此对于iStream所复制的schema只能做只读应用之外,新创建的shema不会对复制本身产生任何影响,对于即席查询、报表处理、数据备份、统计分析等业务或应用都可以放在复制的目标数据库上进行处理。
多种应用也不必在同一个交易数据库上争夺处理资源和时间窗口。
生产系统运行和维护的压力得以释放,提高了稳定性,而不同的应用在分布的数据库上也可以进行有针对性的优化。
下图表示在容灾系统做业务查询、报表处理、数据备份、统计分析等应用的示
1.2.3.4业务数据分发
iStream能够完成企业范围内的数据分发,从交易数据生产库实时复制到一个或多个本地或异地的数据库中。
iStream支持多种数据分发拓扑结构,一对一、一对多、多对一、级联复制以及组合的数据分发模式。
数据分发是一种典型的通过部署多服务器、多数据库来分担负载,提高响应速度的企业应用模式。
下图表示交易系统的业务数据同时分发到不同目标端的示例。
1.2.4.5配合业务交易,容灾系统完全恢复交易
iStream在每提交一个合成的交易文件后,都会在目的端共享内存中记录最后一个完成装载的交易的源端提交时间。
并且通过iStream提供的工具可以将共享内存显示出来,以方便不