GoldenGate软件在数据迁移中的应用

2012-02-05 06:37俞凯晟
微型电脑应用 2012年4期
关键词:架构服务器数据库

俞凯晟

0 引言

此次数据迁移的实施背景比较复杂,数据要从一个职能部门的数据中心迁移到另外一个新建部门的数据中心。源端数据库版本为 Oracle9i,目标端数据库版本为 Oracle11G,数据迁移量达到 T级别。迁移的原因是由于职能部门的业务调整,源端部分数据应用被要求迁移到新的目标端数据库中支持新的应用。同时由于相关应用的实际需求,在数据迁移和应用切换的过程中要做到无缝切换(既切换对最终用户是透明的,并基本不存在宕机时间),所以在本次实施考虑使用数据同步软件进行数据迁移,既先同步后切换的新模式。而不是原先所普遍采用的数据先导出后导入的传统模式。

1 迁移的思路

为了保证用户能够顺利进行数据迁移工作,实施团队将协助用户进行网络、主机、数据库的安装、迁移、配置更改及其它应用系统的技术支持工作。

在迁移之前实施团队将协助用户制定详尽的方案,做好测试和培训工作,严格选择和控制数据迁移实施的时间(如夜间无人使用系统时),尽最大努力不影响现有系统的正常使用。

根据以往大型复杂信息系统的集成经验,数据库系统的迁移是一件复杂并相当关键的工作,应充分作好准备,成立迁移小组,编写迁移方案。

2 预案准备

在迁移过程中,可能会有一些突发的异常情况,为了避免异常情况会带来的不必要的损失,需要预先对可能发生的异常情况作好准备。根据经验,升级和迁移过程中可能发生的异常有以下几种:

2.1 升级过程中硬件故障造成数据库不可用;

2.2 数据库迁移失败;

2.3 操作系统故障;

2.4 数据库没有备份完全造成数据丢失。

因此,针对可能发生的故障,必须准备好应对方案,以及相应的回退预案,以保证生产系统的正常运行,业务数据不会丢失。

3 实施流程

如图1所示:

图1 实施流程

4 方案详解

4.1 系统的架构

本方案采用Oracle GoldenGate数据实时同步解决方案,需要在源与目标系统均安装GoldenGate相应软件模块。系统架构图,如图2所示:

图2 系统架构

日常运行情况下,数据同步方向为由源业务系统到目标系统(如考虑对源系统的影响程度,可将与源系统通过Oracle Data Guard实时进行数据同步的测试环境数据库作为数据源)。需要启动两边系统上的GoldenGate进程,数据同步进程如下:

4.1.1 在源业务系统(或测试环境数据库)上运行的GoldenGate捕获进程,负责实时读取Oracle数据库交易日志中的数据变化,并根据需要可以执行过滤操作,仅将感兴趣的数据捕获过来,写入本地的源队列文件中。根据实际测试经验,写入队列文件的数据量约为交易日志文件的四分之一。

4.1.2 在源业务系统(或测试环境数据库)上还需要运行GoldenGate DataPump进程,该进程负责将源队列文件的内容发送到目标队列文件中。通过压缩机制(最大压缩比可以达到9:1),网络传输的数据量,最佳情况下约为源队列文件内容的九分之一。

4.1.3 变化数据的队列文件到达查询系统后,查询系统上的GoldenGate进程将实时读取这些交易变化数据,根据其在原生产系统上的交易顺序,完全一致地应用到查询系统,从而保证了两边交易数据的一致性。

4.2 其他GoldenGate模块

数据实时同步的核心GoldenGate模块TDM (Transaction Data Management,交易数据管理),在TDM基础上,用户还可以采用如下模块实现图形化配置管理、实时差异数据比较等功能。

4.2.1 Management Pack for Oracle GoldenGate

Management Pack for Oracle GoldenGate(Oracle GoldenGate管理包)原名GoldenGate Director,是一个基于服务器的产品,具有直观的图形化界面(包括客户端和Web界面),可以设计、配置、管理、监控和报告整个系统中的GoldenGate模块。

GoldenGate管理包可以提高IT人员的生产效率,充分利用已有的基础架构,最大化投资回报率,减少系统持续可用性、灾难恢复、实时数据集成方案的上线时间,如图3、图4所示:

图3 GoldenGate管理包图形客户端

图4 GoldenGate管理包Web客户端

Oracle GoldenGate管理包提供了如下关键特性,强化了GoldenGate的部署管理:

4.2.1.1 快速部署。基于GUI图形的配置减少了人工错误,支持从一个中央管理界面快速实现多服务器的解决方案;

4.2.1.2 整合的信息。来自多个服务器的模块状态、延迟时间和事件信息被整合到一起,提供简单的视图、报告和告警;

4.2.1.3 中央管理。可以从Web界面或富客户端界面中,启动、停止、查看多个主机上的GoldenGate模块;

4.2.1.4 实时反馈。当配置和状态变化时会实时更新,即刻突出问题;

4.2.1.5 智能参数选择。特定平台上的GoldenGate模块合法参数自动变得可用,非法参数在设计阶段即被发现,而不是在运行时;

4.2.1.6 强大的、可扩展的告警架构。开箱即用的告警支持基于配置规则的电子邮件通知。另外,应用提供了与第三方管理解决方案的集成能力;

4.2.1.7 零架构影响。Oracle GoldenGate管理包对IT已有架构没有任何影响

4.2.2 Oracle GoldenGate Veridata

Oracle GoldenGate Veridata是一个高速的、低影响的数据比较方案,在不妨碍正在运行的业务流程的情况下,识别和报告数据库之间的数据差异。

采用Veridata,可以审计和验证不同业务应用共享的大量数据,减少了数据比较需要的时间和资源数量,最小化人工错误的影响,加速了潜在问题的发现以利于快速解决。

通过一个图形化的用户界面,可以快速选择源和目标数据库的相关表格或数据字段,开始数据比较。当源和目标由于持续的数据复制而变化时,Oracle GoldenGate Veridata可以识别出 in-flight(正在处理)的记录,精确报告那些持久性的差异。用户拥有灵活性,决定如何基于自己的业务需求,来处理这些in-flight数据,如图5所示:

图5 Oracle GoldenGate Veridata 架构

Oracle GoldenGate Veridata提供了如下关键特性,帮助组织维护企业级的数据一致性:

4.2.2.1 高性能。在非常动态或大型系统中,数据变化可能会快于数据比较。Oracle GoldenGate Veridata可以在不影响系统和网络架构的情况下,处理大量的数据比较;

4.2.2.2 选择性、并行比较。业务应用使用大量结构来在数据库中存储数据。为了在这些实现之间比较数据,Oracle GoldenGate Veridata提供了选择性的比较功能,并发地运行多个比较任务。与其他“全部或没有”的解决方法不同,Oracle GoldenGate Veridata允许用户挑选和选择比较内容,因此,只有相关的数据被处理,不同点突出出来;

4.2.2.3 异构性。Oracle GoldenGate Veridata支持跨数据库的比较,包括Oracle 、SQL Server、Teradata、HP Enscribe和HP SQL/MP数据库;

4.2.2.4 直观的、易于使用的界面。Oracle GoldenGate Veridata使用一个直观的Web界面,支持通用导航和工作流活动,以配置、操作和监控相关任务。它支持基于用户的个性化,使得技术和业务用户很快变得具有生产力;

4.2.2.5 基于角色的安全性。Oracle GoldenGate Veridata提供了基于用户角色的选择性访问,增加了安全性,减少了错误;

4.2.2.6 降低了风险的暴露。知道了数据的不一致可以在其影响业务之前,帮助定位问题。Oracle GoldenGate Veridata识别出数据的差异,因此可以快速采取弥补措施;

4.2.2.7 非侵入式操作。利用其比较 in-flight交易的能力,Oracle GoldenGate Veridata支持那些活动的数据库,而不必妨碍业务操作。轻量级的资源占用和后台处理技术,比较任务对技术架构可以带来最小的影响;

4.2.2.8 实时的结果。使用Oracle GoldenGate Veridata,比较状态和统计实时更新。图形化的显示与细节描述清晰地传达关键的结果和特定的数据不一致,因此,IT部门可以立即采取纠正行动。如果没有不一致的情况,用户可以存档数据的精确性,以备合规性报告的需要。

6 案例的总结

Oracle GoldenGate TDM(交易数据管理)模块是整个数据实时同步的核心模块,原生产系统与房产局新建查询系统均需安装。根据场景,在原生产系统与查询系统配置相应的捕获进程、交付进程,实现单向的数据同步;

GoldenGate管理包需要运行在Oracle WebLogic服务器上(已内含在管理包中)和一个 Oracle元数据库,建议运行在一个独立的管理服务器上;

Oracle GoldenGate Veridata的服务器模块可以运行在一个独立的管理服务器上,Agent代理模块根据需要,可以与服务器模块一起,也可以运行在需要进行数据比较的数据库实例服务器上。

综上,GoldenGate软件是一种基于数据库日志的数据复制产品,可以利用极少的系统开支,实时复制数据库,改善数据可用性。GoldenGate可以在数据移植、在线维护等场合应用,以减少或消除数据库的停机时间。同时,它还可用于数据容灾、负载均衡、数据集中、数据分布等应用中。GoldenGate可确保在这些工作进行时,源系统的正常事务处理得以继续进行,功能上不受影响。

另外,GoldenGate采用的全局数据同步软件平台解决方案,既保证了对企业关键任务交易数据持续性的访问,提供了对业务持续性的高度支持;又是一个“一次性投资”的平台决方案,它为整个企业提供的不仅是技术适应能力包括速度、流量和多样性,而且还提高企业投资收益,这些都是保证业务持续的关键因素。

作为一种软件方案,GoldenGate 可以采用非常灵活的方式加以配置,包括双向复制和多层次的数据复制。特别是其在双向数据复制领域的技术先进性,可以满足用户在本地或广域网络环境中的各种复杂复制需求。本机数据改变捕捉作为一个基于日志的同步解决方案,对源系统和网络的影响减少到最低;并可在异构IT基础结构之间,实现大量数据的秒一级的数据捕捉、转换和投递。

[1]阿拉派蒂.Oracle Database 11g数据库管理艺术[M].钟鸣,译.北京:人民邮电出版社,2010.

[2]阿拉派蒂.Oracle数据库管理艺术:11g新特性[M].钟鸣,译.北京:人民邮电出版社,2009.

[3]文平.Oracle大型数据库系统在AIX/UNIX上的实战详解[M].北京:电子工业出版社,2009.

[4]金博尔.数据仓库生命周期工具箱(第二版)[M].唐富年,孙媛媛,译.北京:清华大学出版社,2009.

[5]于宁斌.IBM UNIX&Linux:AIX 5L系统管理技术[M].北京:电子工业出版社,2005.

猜你喜欢
架构服务器数据库
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
通信控制服务器(CCS)维护终端的设计与实现
基于云服务的图书馆IT架构
WebGIS架构下的地理信息系统构建研究
数据库
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
数据库