Chinaunix首页 | 论坛 | 博客
  • 博客访问: 524496
  • 博文数量: 150
  • 博客积分: 6021
  • 博客等级: 准将
  • 技术积分: 1201
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-27 20:07
文章分类

全部博文(150)

文章存档

2012年(1)

2011年(27)

2010年(122)

我的朋友

分类: Oracle

2010-09-10 16:45:27

异构数据库迁移
http://blog.chinaunix.net/u3/115561/showart_2261131.html
大部分公司正面临的问题之一就是,将数据库移植到新的硬件或者不同的操作系统平台,甚至是一个新的数据库提供商的产品。这个过程涉及到了许多步骤和因素。本文将介绍整个过程和一些公司经历。

  Bloor研究所最近一项调查显示,估计数据迁移市场将超过50亿美元并且还正在日益增长。现在许多公司有不同的方法进行数据库迁移,如抽取/ 转换/装载(简称ETL ) ,复制和手动脚本。然而这些方法面临着一些问题,当一方面数据量在增长,而另一方面允许的停机时间在减少时,这项工作将变得更复杂。

  Bloor研究所于2007年9月发布的“2000年全球数据迁移” 报告中列出以下统计数据:

  • 16%的数据迁移部分项目取得了成功

  • 37%的预算超支

  • 64%没有按时完成

  迁移要经过精心策划和执行,以尽量减少停机时间并保持数据的完整性和数据库的性能,因为许多公司已经遍布全球,并且每天24小时都要操作数据库 。

  我们以数据库迁移为话题采访了各行各界的人,最后采访显示切换到新系统的主要原因之一是旧系统迁移。新系统的总体拥有成本( TCO )通常是比过时的系统维护费更低。一些公司执行数据库迁移由于设备租赁结束,并要被一个更新的系统所取代。一旦迁移完成,目标系统将是最新的并且将获得硬件和软件供应商的支持。新的系统将具有更广泛的功能并且更利于环保。

  迁移类型

  由于数据库比一系列文件更加难以迁移,因此迁移过程和资源分配都必须经过精心策划并且定制到具体环境,以最大限度地减少停工时间。

  有各种类型的数据库迁移,如:

  • 数据库升级

  安装最新的数据库版本

  • 硬件升级

  移动到同一平台上新的硬件/软件版本

  • 新平台

  移动到不同的硬件/软件平台

  • 操作系统升级

  升级现行操作系统版本

  所有这些类型的数据迁移是相互独立的,但有些往往是交织在一起,使之更有效率和更好利用这整个过程。最常见的一种类型的迁移是数据库升级到新的版本。这种做法通常是与硬件升级和/或操作系统升级结合起来。所有这些数据迁移路径涉及目标系统上新数据库服务器的安装。通常情况下,它是数据库的最新版本。

  大部分的受访者说,源平台和目标平台是不同的。一位企业级解决方案和技术全球供应商的代表说,他们的目标系统是Windows ,而来源是Windows , Linux ,和UNIX的组合。莫希干莲恩在Overstock.com上提到,他们的目标平台是64位Linux ,而来源却是32位。据沃达丰的丹尼尔苏西尤称目标和源系统有不同的操作系统,甚至数据库。

  步骤

  无论是那种迁移类型,都有共同的执行步骤,以确保一个成功的迁移。这些步骤是:

  • 规划

  在规划阶段,源系统和目标系统都被分析,转移数据量,所花费的时间,进行迁移现有系统允许的停机,安全,系统的可用性和回滚的选择。可能还有其他因素,具体到当前的业务需求,如政府和行业法规。该规划需要有尽可能详细到执行命令。

  将数据传输到新的系统所需的时间常常被忽视,但它往往是最耗时操作。,在FTP协议下,当数据库大小达到数百个千兆字节或更多是,使用最大数据传输速率超过100 MB /秒的网络这些时间不够的。在允许的时间内,转移大型的数据库,支持巨型帧传输的千兆网络或更快的网络是必需的。此外,如果数据被传输通过SSH协议,由于安全问题,那么它会更慢,因为加密开销。

  另一个重要方面是源数据库和目标数据库的兼容性。这取决于操作系统平台,数据库供应商,以及版本。例如,在同一平台上,把Oracle数据库从9.2版本迁移到10g,比从10g迁移到11g需要更少的步骤来完成。跨平台或数据库厂商更是有限的,这通常意味着把数据输出到文件,然后导入,或使用复制或网关技术。

  • 目标筹备

  目标系统安装和配置将成数据库迁移完成后的首要任务。所有必要的补丁必须安装。这样做是根据硬件和软件的规范和任何特定的业务需求,如安全,备份,以及其他的要求。应用程序将不得不指向新系统,并且必须同网络和系统管理员进行协调。

  • 测试

  这一步涉及到数据迁移计划的测试。通常情况下,测试在不属于生产环境这样一套系统上进行,以防止任何业务中断。举例来说,这些系统可能是在源系统上开发的但却要运行在不同的目标系统上。在这一步这两个系统监测完成迁移时间和资源利用率。这目标系统用来证实测试成功的完成,以确保数据的完整性,可获取性,以及系统的性能。

  最理想的是,数据量应该是非常接近生产环境,如果不备份环境。这对适当的数据库性能优化和调整是必要,因为不同的数据库版本可能会在这方面有不同的行为。因为数据传输速率和存取时间在不同系统之间会有所不同,数据统计必须在各级目标系统进行收集,确保适当资源利用率。

  任何必要的修改都必须反映在该计划中。由于高系统复杂性,测试可能要反复进行。

  • 移植

  一旦测试已顺利完成,生产数据迁移按照计划执行。如果生产数据可以在允许的停机时间内被迁移,那么整个过程将是非常容易管理,否则,其他步骤都必须执行,以确保迁移圆满完成。

  回滚选择是必备的,万一新系统因故发生故障,并且也没有留下更多的时间来纠正这个问题。

  一定要收集如前所述的数据统计,并设置必要的用户和对象层次特权。这两项是最常见的目标系统问题。

  • 验证

  类似的测试迁移,数据核查,必须在目标系统完成。它确保数据的完整性和优化系统的性能。在旧的系统退役之前,这两种系统可能会在并行运行。在这种情况下,数据流必须安装两个系统之间,使它们完全相同。通常是这样做,的目目的系统配置为主机,旧的系统被配置为副机,所以数据流从新的流向旧的系统。这种情况下,复制是一种理想的工具。为防止双向数据流必须有冲突检测和解决的机制。

  是否要执行额外的任务,取决于迁移的类型。当移动到不同的数据库平台或者数据整理删除过时或多余的信息时,这些任务可能会被创造新的数据库结构。数据整理和一致性被在兼容性和时间限制之中的受访问者称为是最有挑战性的问题。

  供应商

  也有第三方的解决方案,如金门软件(GoldenGate Software),提供“一个交易数据管理(TDM)的平台,使大量的交易数据以次秒级的速度不断在企业系统之间移植,维护数据的完整性,并降低对系统的影响。 “

  Overstock.com选定金门软件转移客户数据,将他们从支持其零售网站的甲骨文9i数据库中移植到运行在TeradataV2R6数据库上的Teradata数据仓库中。 Mohican莱恩说,他们“评估Quest的Shareplex软件,以及甲骨文公司的嵌入式数据库复制软件。我们选择金门软件是由于实施简单和易用性。 “

  另一个解决办法是由Informatica公司提供数据迁移套件。这是一套多件产品,可用于各种情况,并有永久许可证和项目级许可证两种选择。该项目级许可证的有效期可为6 , 12 ,或18个月。

  Celona提供数据迁移软件,可用于各种迁移情景,如基于事件的,渐进的,批量加载等。

  丹麦人约翰说,当为Vaman Technologies工作时,他们“分析大多数迁移工具,因此在某些情况下,我们可以使用第三方工具或者我们自己内部开发。 ”

  还有其他厂商提供类似的解决方案,可能会更适用于您的情况。这些解决方案可以协助各种数据迁移方案减少或完全消除停机时间。

  总结

  数据库迁移是一个复杂的工程,必须深入分析。确定迁移类型和必要的工具以及完成它所需的资源。在选择一个之前,各种办法都必须全面审查和了解。

  迁移可以在内部进行或外包给一家咨询业务。考虑使用第三方解决方案,以防止手工编程迁移脚本,如果还要进行数据整理,那将是相当耗时和相当复杂的。此外,这些解决方案可以减少或消除停机时间和方便系统之间的复制。外包将给你带来的最佳的方案和适当的工具来完成迁移任务。
阅读(2021) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~