DB2的数据迁移工具 |
本文标签:DB2 在任何支持 DB2 UDB 的工作站平台上,MTK 都支持从 Sybase 11.9.2 和 Microsoft SQL Server 6.5 及 7.0 到 DB2 UDB(版本 7.2 和更高)数据库的转换 。对于 Sybase V11.x 以前的版本和 MS SQL Server V7.0 以前的版本,MTK 也可以用来转换从这些数据库中导入的脚本 。MTK 不支持向 DB2 UDB for OS/390® 和 DB2 UDB for z/OS™ 以及 DB2 UDB for iSeries™ 的转换 。但是,可以用 MTK 的转换和细化步骤创建 DB2 脚本,可以手工修改这些脚本以用于在这些平台上进行部署 。MTK 目前可在 Windows NT® 和 Windows 2000® 上运行,但仅有英文版可用 。 利用免费的 IBM® DB2® Universal Database™(UDB)Migration Toolkit(MTK)简化和改进向 DB2 UDB 的迁移工作 。这个新的迁移实用程序提供了向导和易于使用的五步界面,这些有助于您快速地将现有的 Sybase 和 Microsoft® SQL Server 数据库对象转换到 DB2 通用数据库 。 使用 MTK,可以将数据类型、表、列、视图、索引、存储过程和触发器自动地转换成等价的 DB2 数据库对象 。MTK 向数据库管理员(DBA)和应用程序程序员提供了使迁移任务自动化所需要的工具,而以前这些任务不但效率低下而且开销巨大 。通过使用 MTK 中的以下特性,您可以减少停机时间、消除人为错误,以及降低人工和与传统数据库迁移相关联的其它资源消耗:
在数据库解决方案决策中考虑使用 MTK MTK 支持大多数关系数据库管理系统(RDBMS)中存在的大部分特性的转换 。但是,对于某些迁移,可能有复杂的 RDBMS 特性(如可扩展性对象和集合)无法由迁移实用程序处理,而需要手工修改 。 图 1 随着被转换的 RDBMS 特性复杂性的增加,自动化级别就降低了,并且需要额外的手工干预 。MTK 的价值在此类复杂的迁移环境中就体现出来了,此时,该工具可以用作手工元数据操作的集中式界面 。此外,MTK 可以使其余数据库对象的转换自动化,并让您将宝贵的资源集中投入到最复杂的 RDBMS 特性上 。 MTK 和总体迁移策略
MTK 旨在用于迁移的第二阶段;这个阶段包括数据库对象的实际转换,以及将那些对象和数据部署到目标 DB2 数据库 。虽然 MTK 会在迁移的最关键阶段辅助您,但正确地实现其它阶段对于确保成功和有成本效益的迁移还是不可或缺的 。IBM 提供了很多迁移经验,可以帮助您概括和实现迁移策略的所有阶段 。 MTK 是如何工作的 图 2. MTK 的五个步骤 五步迁移过程从“指定源(Specify Source)”步骤开始,它用来标识要转换的对象的源 。在整个迁移过程中,在 转换(Convert)步骤将来自源输入的对象转换成 DB2 对象,然后在 细化(Refine)步骤中查看和定制转换结果 。您重复 转换和 细化步骤,直到 Refine选项卡中显示的转换结果是准确和完整的为止 。在最后两个迁移步骤中,您 生成数据转移脚本(Generate Data Transfer Scripts)并将数据库对象和数据 部署(Deploy)到目标 DB2 数据库 。 迁移环境 如果您的目标 DB2 数据库管理器在 Windows NT 或 Windows2000 上运行,那么您可以将 DB2 Migration Toolkit 与 DB2 安装在同一系统上 。用 ODBC 或 JDBC™ 本机驱动器访问源数据库 。如果文件包含已用正确格式(标准 SQL — 非专用格式)导出的 SQL,那么该工具箱也可以从文件进行导入,请参阅图3 。 图 3. 使用 ODBC 或 JDBC 访问数据库 将数据库部署到并非由 MTK 明确支持的系统平台是有可能的 。在部署期间,MTK 执行一组批处理文件,其中包含用于部署的必要命令 。如果您知道目标系统的 shell 命令语法,就可以自行将文件复制到系统、对它们作必要的修改并执行它们 。例如,您可以手工修改并在本地运行迁移期间生成的 UNIX®(*.sh)脚本,这样就可以将部署和数据转移放在目标 UNIX 机器上进行,而不是安装了 MTK 的中间 Windows 机器 。 图 4. 将批处理文件用于部署 下面描述了 MTK 界面的五个迭代的步骤: 步骤 1:指定源 使用 ODBC 或 Java™ 连接,您可以直接从源数据库抽取源,或导入脚本 。例如,当导入脚本时,您可以从先前的抽取或源库中导入源脚本 。您也可以同时指定和转换多个源文件 。 步骤 2: 转换 在从转换选项中进行选择之后,源 DDL 语句被转换成了 DB2 DDL 。每次转换的结果都是一个 DB2 文件(.db2)和一个报告文件(.rpt),每个文件都包含您在 Prefix for generated files域指定的前缀 。DB2 文件包含转换期间创建的 DB2 DDL 语句,通常在这些语句前加上源 DDL 语句作为注释 。报告文件包含在转换期间标识的一列错误 。您可以在 Refine页上查看和编辑这些文件,该页在对象被转换之后自动打开 。 图 6. 步骤 2,转换 步骤 3:细化 图 7. 步骤 3,细化 在细化了已转换的数据之后,您必须返回到转换步骤来应用更改 。当您再次执行转换步骤时,转换器将细化的更改与最初抽取的源 DDL 语句合并,以产生更新的目标 DB2 和 XML 元数据(由 DDL 指定的源对象表示) 。最初的 DDL 语句没有被更改 。重复 转换-细化步骤,直到您对结果满意为止 。 您可以使用其它工具(如 SQL Translator、Log 和 Reports)来帮助自己细化转换 。在将 DB2 DDL 语句细化到您满意的程度后,可以继续转到生成数据转换脚本步骤来准备数据转换脚本,或转到 部署到DB2步骤以执行 DB2 DDL 语句 。 步骤 4:生成数据转换脚本 图 8. 步骤 4,生成脚本 步骤 5:部署到 DB2 MTK 提供了这些不同的选项来适应众多可能的系统环境 。这些特性的一个通用方法是使用 Deploy 选项,这样您就可以在白天执行 DDL 语句,而在网络使用率较低的夜晚部署实际数据 。 如果您需要在与 DB2 所驻留的系统不同的系统上转换和细化,那么您可以将 MTK 及其项目目录复制到 DB2 系统并在本地部署它 。如果您熟悉非 Windows 2000 操作系统上的 DB2,那么,在那些系统上修改批处理文件以适应到那些系统上 DB2 的部署是有可能的 。MTK 生成用于 UNIX 和 Windows 平台的脚本 。虽然这种情形仍没有被充分测试和支持,但可以通过复制 mtk.jar 文件和部署期间用的批处理文件来完成 。因为使用了 .jar 文件,所以 Java 1.3.0 仍然是启动系统的先决条件 。 |