【简 介】 本文将介绍一套简单有效的移植方案,指导从Sybase到DB2 V9 FOR Z/OS 的SQL Stored Procedure的移植,并且基于实际移植案例给出了一个具体示例。 |
|
|
|
|
背景介绍
随着企业业务的发展,数据量的海量增长,越来越多的企业采用了性能稳定而强大的 DB2 FOR Z/OS 作为数据库管理系统。如何将已有的应用程序移植到 DB2 FOR Z/OS 成为其中重要的一个环节。在实际的案例中,我们发现目前越来越多的应用程序将数据库业务处理部分尽可能的封装到 SQL Stored Procedure 中,这样不仅能得到了很好的模块化、重用性和性能优化,而且因未来业务需求的改动而带来的二次开发也将变得更快捷、更安全。
IBM 提供了强大而实用的 MTK 来帮助客户完成移植过程,但是目前 MTK 并不支持从 Sybase 到 DB2 FOR Z/OS 的移植。
移植方案的技术介绍
当数据库业务处理部分尽可能的封装到 SQL Stored Procedure 时, Stored Procedure 的数量往往会达到上百甚至上千个,而且单个 Stored Procedure 的代码量也可能达到上百或上千行,这时 SQL Stored Procedure 移植的工作量和难度将成为整个项目移植的关键部分。由于目前没有自动的移植工具,我们曾试验了先利用 MTK 将 SQL Stored Procedure 移植到 DB2 FOR LUW ,然后再移植到 DB2 FOR Z/OS ,但效果不是很理想,所以我们的方案采用的是人工直接修改的策略。
由于参与移植的人员往往不全是原有程序的开发人员,对两个数据库管理系统也可能不是很熟悉,所以如何提高人工修改的效率和技术要求成为移植的关键问题。我们的方案将分三步走。
第一阶段中,挑选具有典型代表意义的 SQL Stored Procedure ,进行研究、移植试验。
Sybase 和 DB2 在 SQL Stored Procedure 的语法和使用习惯上有很多细微的差异,目前还没有一个完整的差异对照表,并且具体业务的不同以及开发人员编程习惯的不同,往往使得我们需要具体问题具体分析。
但是在同一个业务模块中的Stored Procedure往往具有相似性。所以在第一阶段,我们需要挑选各个业务模块中典型的 Stored Procedure ,由技术骨干来进行研究、试验。在我们后面的案例中,大约 5% 左右的 Stored Procedure 即包含了所有 Stored Procedure 中的 95% 以上的移植点。我们需要对这些 Stored Procedure 逐个通读代码,发现移植点,研究出等价修改的方法。我们可以使用的调试工具有 Workbench ,文本编辑器等。
第二个阶段中,形成移植手册并加以优化以方便批量修改。
我们需要整理第一阶段中的研究成果,将移植点及其移植方法加以分类整理。移植手册的编制目标是尽可能地使得后期的同事可以根据其中的移植详细步骤将一个 Sybase 的 SQL Stored Procedure 简单地移植到 DB2 中,降低他们对业务和数据库技术的要求。移植手册应该包含绝大部分移植点,完成后最好请其他的同事使用若干第一阶段中未选中 Stored Procedure 加以验证,这样可以发现其中的不足,加以改进优化,并且能够评估后期的工作量。
移植手册可以视具体情况包含多个部分,比如系统环境说明,移植详细步骤,移植点详细解答,移植样例等等,其中移植详细步骤和移植点详细解答是核心。移植详细步骤列举了移植所需要做的修改操作及其顺序。移植点详细解答列举了移植点的上下文、技术详细解释、等价修改及其注意点,是用来更好地理解、补充移植详细步骤的。
第三个阶段中,组织人员根据移植手册进行真正的移植工作。
对于在移植手册中未涵盖的差异,在此期间具体问题具体解决。等全部 Stored Procedure 移植完成后,需要进行完整的功能测试以及必要的性能测试。
|
|
|
|
|
| 杀毒软件免费随便用
瑞星全功能安全软件2009 基于“云安全”策略和“智能主动防御”技术开发.
www.rising.com.cn
|
|
|
|