免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2780 | 回复: 3
打印 上一主题 下一主题

其他数据库向DB2转换的工具(ZT) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-03 16:50 |只看该作者 |倒序浏览
使用 IBM DB2 Migration Toolkit 使到 DB2 的迁移自动化
MTK 支持哪些 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& 上运行,但仅有英文版可用。
请访问 MTK 网站以了解将来的功能和平台支持升级:http://www-3.ibm.com/software/data/db2/migration/mtk/。
简介
利用免费的 IBM& DB2& Universal Database™(UDB)Migration Toolkit(MTK)简化和改进向 DB2 UDB 的迁移工作。这个新的迁移实用程序提供了向导和易于使用的五步界面,这些有助于您快速地将现有的 Sybase 和 Microsoft& SQL Server 数据库对象转换到 DB2 通用数据库。
使用 MTK,可以将数据类型、表、列、视图、索引、存储过程和触发器自动地转换成等价的 DB2 数据库对象。MTK 向数据库管理员(DBA)和应用程序程序员提供了使迁移任务自动化所需要的工具,而以前这些任务不但效率低下而且开销巨大。通过使用 MTK 中的以下特性,您可以减少停机时间、消除人为错误,以及降低人工和与传统数据库迁移相关联的其它资源消耗:
•        通过使用直接源数据库访问(JDBC™/ODBC)或导入的 SQL 脚本,从源 DDL 语句中抽取数据库元数据
•        使数据库对象定义的转换自动化,这些对象包括存储过程、触发器、包、表、视图、索引和序列
•        使用有用的与 SQL 和 Java™ 兼容的函数,这些函数使转换在功能上是精确和一致的
•        使用 SQL 转换器工具来实时地执行查询转换,或将该工具用作 T-SQL 和开发人员的 DB2 SQL 学习辅助
•        查看和细化转换错误
•        使用部署选项有效地实现已转换的对象
•        生成和运行数据移动脚本
•        用详细迁移日志文件和报告跟踪对象转换和数据移动的状态(包括错误消息、错误位置和 DDL 更改报告)
在数据库解决方案决策中考虑使用 MTK
迁移到新数据库的决策需要对许多将影响业务的因素进行仔细考虑。其中一个因素是:将数据库对象、存储过程和物理数据从原始数据库迁移到 DB2 所需要的资源分配。与数据库迁移相关的人工、停机时间和可能发生的人为错误,这些都会极大地影响您总体数据管理升级的投资回报(ROI)。获得功能全面的迁移工具,以帮助您根据业务迁移规范定制对象,能够显著地降低与数据库转换相关的开销。尽管有几种为数据库迁移提供资源的简单工具,但几乎没有一种能在允许您在工具界面内定制 DDL 对象的同时还支持过程语言(如 T-SQL)。它们也不支持对复杂对象(如触发器和存储过程)的细化和转换。MTK 与其它迁移产品相比的过人之处在于,它在您将数据库对象部署到目标数据库之前,帮助您查看和手工定制数据库对象。
MTK 支持大多数关系数据库管理系统(RDBMS)中存在的大部分特性的转换。但是,对于某些迁移,可能有复杂的 RDBMS 特性(如可扩展性对象和集合)无法由迁移实用程序处理,而需要手工修改。
图 1
<br />;
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/MTK_efficiency_v3.gif" border="0" />;</span>;<span class="postbody">;<br>;

随着被转换的 RDBMS 特性复杂性的增加,自动化级别就降低了,并且需要额外的手工干预。MTK 的价值在此类复杂的迁移环境中就体现出来了,此时,该工具可以用作手工元数据操作的集中式界面。此外,MTK 可以使其余数据库对象的转换自动化,并让您将宝贵的资源集中投入到最复杂的 RDBMS 特性上。
MTK 和总体迁移策略
数据库迁移是多阶段过程,需要大量的计划和项目管理工作。理解一般迁移过程以了解 MTK 可以如何以及在何处适合您的策略,这很重要。通常,迁移过程由以下几个阶段组成:
1.        迁移前规划和评估:在本阶段,您定义迁移的范围,并评估资源规划和安排任务时间表,任务包括风险评估、概念验证、数据备份、分段、时间段计划和迁移技能培训。
2.        迁移:在本阶段中,转换专家或 DBA 进行向 DB2 的转换,并将脚本和数据直接部署到目标 DB2 数据库。
3.        迁移后测试和验证:这个最终的迁移阶段负责调优目标数据库、迁移应用程序、设置生产环境、执行测试并培训 DB2 用户。
MTK 旨在用于迁移的第二阶段;这个阶段包括数据库对象的实际转换,以及将那些对象和数据部署到目标 DB2 数据库。虽然 MTK 会在迁移的最关键阶段辅助您,但正确地实现其它阶段对于确保成功和有成本效益的迁移还是不可或缺的。IBM 提供了很多迁移经验,可以帮助您概括和实现迁移策略的所有阶段(请参阅本文末尾其它迁移参考资料一节以获得相关联系信息)。
MTK 是如何工作的
MTK 界面提供了五个迭代的步骤(请参阅图 2);MTK 界面中的每一页代表转换过程中的一步。
图 2. MTK 的五个步骤
<br />;
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/Process_Flow_v14.gif" border="0" />;</span>;<span class="postbody">;<br>;


五步迁移过程从“指定源(Specify Source)”步骤开始,它用来标识要转换的对象的源。在整个迁移过程中,在转换(Convert)步骤将来自源输入的对象转换成 DB2 对象,然后在细化(Refine)步骤中查看和定制转换结果。您重复转换和细化步骤,直到 Refine 选项卡中显示的转换结果是准确和完整的为止。在最后两个迁移步骤中,您生成数据转移脚本(Generate Data Transfer Scripts)并将数据库对象和数据部署(Deploy)到目标 DB2 数据库。
迁移环境
当您设置一个要在其中进行迁移的环境时,您要指定运行数据库服务器的操作平台。源数据库管理器存在于一个特殊的平台上,而 DB2 通用数据库可以存在于另一个平台上,DB2 Migration Toolkit 在 Microsoft& Windows NT 或 Windows 2000 上运行。
如果您的目标 DB2 数据库管理器在 Windows NT 或 Windows2000 上运行,那么您可以将 DB2 Migration Toolkit 与 DB2 安装在同一系统上。用 ODBC 或 JDBC™ 本机驱动器访问源数据库。如果文件包含已用正确格式(标准 SQL — 非专用格式)导出的 SQL,那么该工具箱也可以从文件进行导入,请参阅图 3。
图 3. 使用 ODBC 或 JDBC 访问数据库
<br />;
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/typicalsetup.gif" border="0" />;</span>;<span class="postbody">;<br>;

将数据库部署到并非由 MTK 明确支持的系统平台是有可能的。在部署期间,MTK 执行一组批处理文件,其中包含用于部署的必要命令。如果您知道目标系统的 shell 命令语法,就可以自行将文件复制到系统、对它们作必要的修改并执行它们。例如,您可以手工修改并在本地运行迁移期间生成的 UNIX&(*.sh)脚本,这样就可以将部署和数据转移放在目标 UNIX 机器上进行,而不是安装了 MTK 的中间 Windows 机器。
图 4. 将批处理文件用于部署<br />;
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/setup_3_v1.gif" border="0" />;</span>;<span class="postbody">;<br>;


下面描述了 MTK 界面的五个迭代的步骤:
步骤 1:指定源
在创建或打开了迁移项目之后,就可以启动迁移过程了。您的第一步是获取将要转换成 DB2 的 DDL 源文件。这一步在 Specify Source 页完成。
图 5. 指定源
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/specify.gif" border="0" />;</span>;<span class="postbody">;<br>;


使用 ODBC 或 Java™ 连接,您可以直接从源数据库抽取源,或导入脚本。例如,当导入脚本时,您可以从先前的抽取或源库中导入源脚本。您也可以同时指定和转换多个源文件。
步骤 2: 转换
在转换步骤中,您可以从影响转换输出的一列格式化选项中进行选择。转换步骤也可以用来更改源数据类型及其目标 DB2 数据类型之间的缺省映射。
在从转换选项中进行选择之后,源 DDL 语句被转换成了 DB2 DDL。每次转换的结果都是一个 DB2 文件(.db2)和一个报告文件(.rpt),每个文件都包含您在 Prefix for generated files 域指定的前缀。DB2 文件包含转换期间创建的 DB2 DDL 语句,通常在这些语句前加上源 DDL 语句作为注释。报告文件包含在转换期间标识的一列错误。您可以在 Refine 页上查看和编辑这些文件,该页在对象被转换之后自动打开。
图 6. 步骤 2,转换
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/convert_v3.gif" border="0" />;</span>;<span class="postbody">;<br>;




步骤 3:细化
细化步骤用来查看转换结果,定位错误消息和对已转换的 DDL 进行更改。
图 7. 步骤 3,细化
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/refine.gif" border="0" />;</span>;<span class="postbody">;<br>;


在细化了已转换的数据之后,您必须返回到转换步骤来应用更改。当您再次执行转换步骤时,转换器将细化的更改与最初抽取的源 DDL 语句合并,以产生更新的目标 DB2 和 XML 元数据(由 DDL 指定的源对象表示)。最初的 DDL 语句没有被更改。重复转换-细化步骤,直到您对结果满意为止。
您可以使用其它工具(如 SQL Translator、Log 和 Reports)来帮助自己细化转换。在将 DB2 DDL 语句细化到您满意的程度后,可以继续转到生成数据转换脚本步骤来准备数据转换脚本,或转到部署到 DB2 步骤以执行 DB2 DDL 语句。
步骤 4:生成数据转换脚本
在本步骤中,生成了 Windows NT(*.bat)和 UNIX(*.sh)数据转换脚本,可将其用于创建 DB2 格式的数据文件。有几个选项允许您指定装入和导入、文件格式、文件类型修饰符、参数以及用来满足您的特定迁移需求的创建索引选项。
图 8. 步骤 4,生成脚本
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/scripts.gif" border="0" />;</span>;<span class="postbody">;<br>;




步骤 5:部署到 DB2
部署步骤用来选择将数据部署到目标 DB2 数据库的方法。在这个步骤中,您可以执行 DDL 来创建元数据对象、从源数据库抽取数据、将数据装入目标 DB2 表或选择这三个选项的任意组合。
图 9. 步骤 5,部署
<img src="http://www-900.ibm.com/developerWorks/cn/dmdd/library/techarticles/0209jarzebowicz/images/deploy_v4.gif" border="0" />;</span>;<span class="postbody">;<br>;

MTK 提供了这些不同的选项来适应众多可能的系统环境。这些特性的一个通用方法是使用 Deploy 选项,这样您就可以在白天执行 DDL 语句,而在网络使用率较低的夜晚部署实际数据。
如果您需要在与 DB2 所驻留的系统不同的系统上转换和细化,那么您可以将 MTK 及其项目目录复制到 DB2 系统并在本地部署它。如果您熟悉非 Windows 2000 操作系统上的 DB2,那么,在那些系统上修改批处理文件以适应到那些系统上 DB2 的部署是有可能的。MTK 生成用于 UNIX 和 Windows 平台的脚本。虽然这种情形仍没有被充分测试和支持,但可以通过复制 mtk.jar 文件和部署期间用的批处理文件来完成。因为使用了 .jar 文件,所以 Java 1.3.0 仍然是启动系统的先决条件。
使用 MTK 进行样本数据库迁移
我们有相关的教程,它演示了使用 Migration Toolkit 将数据库模型从 Microsoft SQL Server DDL 脚本转换成 DB2 数据库。已转换的对象包括存储过程。您可以在下列 URL 找到该教程:http://www7b.software.ibm.com/dmdd/library/tutorials/0209jarzebowicz/index.html。
如何获得 MTK?
这里可以免费下载 Migration Toolkit 的最新版本:http://www-3.ibm.com/software/data/db2/migration/mtk/
该产品仍在继续开发中,并将定期添加新特性和扩展的功能。

论坛徽章:
0
2 [报告]
发表于 2003-09-03 16:57 |只看该作者

其他数据库向DB2转换的工具(ZT)

不好意思,不知道怎么贴图片,上面的图片看不了。清哪位兄弟指教。谢谢先。

IBM DB2 Migration Toolkits
You need to be able to access all of your information wherever it resides. DB2 Information Management software protects you current database investment and delivers information on demand to ensures your information is integrated, comprehensive, uniform, analyzable and accessible all the time across all platforms. See how you can migrate your data from Oracle, Sybase or Microsoft SQL Sever regardless of platform.

The IBM DB2 Migration Toolkit helps you migrate from Oracle, Sybase, and Microsoft SQL Server (Versions 6 and 7 and 2000) to DB2 UDB Version 7.2 and 8.1 databases on any supported DB2 UDB workstation platform. The DB2 Migration Toolkit is available on z/OS, AIX, Linux, Sun Solaris and Windows NT and Windows 2000 in English.

The toolkits enable the migration of complex databases with the full functioning GUI interface, providing more options to further refine the migration. For example, one can change the default choices that are made about which DB2 data type to map to the corresponding source database data type. The toolkits also convert to and refine DB2 database scripts. This model makes the toolkits very portable, making it possible to import and convert on a machine remote from where the source database and DB2 are installed.

Oracle 8 to DB2 UDB (Beta)
Oracle 8 to DB2 UDB for iSeries
Microsoft SQL Server to DB2 UDB
MySQL to DB2 UDB for Linux
Sybase to DB2 UDB
For ongoing support for the Migration Toolkit:

Please send questions on issues directly to: mtk@us.ibm.com
Please post any problems or comments to: news://news.software.ibm.com/ibm.software.db2.udb. To differentiate from the other DB2 discussion threads, please prepend the subject line with migrate-team. This newsgroup is closely monitored.

论坛徽章:
0
3 [报告]
发表于 2003-09-03 19:36 |只看该作者

其他数据库向DB2转换的工具(ZT)

这个工具我都已经用过了,并且也有很多相关文档,而且我也向IBM工程师了解过这个软件。结果是这样的:
1.IBM工程师从来没听说这个软件,他也不是IBM开发的。
2.这个软件的说明明确说了:MTK 不支持向 DB2 UDB for OS/390& 和 DB2 UDB for z/OS™ 以及 DB2 UDB for iSeries™ 的转换。也就是不支持向400的DB2转换。
3.我们尝试把SYBASE下的数据库用这个工具转换,表还好说,触发器和存储过程干脆就是妄想。我找过很多经验丰富的工程师,统一的答案只有:重写!!数据库之间的转换不可能通过一个工具直接灌过去的,即使使用工具转换,那手工的修改的工作量也不亚于重写。
4。总的来说,可能向其他系统版本的数据库转换会有很大帮助,但是向400转换是不可能了,只有全部手工重写。

论坛徽章:
0
4 [报告]
发表于 2003-09-03 20:38 |只看该作者

其他数据库向DB2转换的工具(ZT)

yes. IBM's website has this tools
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP