论文部分内容阅读
数据库移植,即改变原有系统的后台数据库管理系统,并仍保持原有系统架构,数据和前后端应用程序的逻辑。这一过程通常十分庞大,它牵涉到数据库方案对象移植,数据移植,代码移植,系统测试等很多方面的技术问题。数据库移植的根本目的在于升级,即要解决目前系统在功能上或性能上存在的问题,因而对移植目标系统的性能调优也是移植工程中非常重要的主成部分。还有,为了保证数据安全性及系统的安全运转,实现新数据库与原有数据库数据的同步有着重要的意义。最后,因为移植工程一般不改变原有系统的逻辑架构,因而使得它的测试应主要集中于原有系统与目标系统的对比测试上,而不同于一般的工程。对比测试通常又分为正确性测试和性能测试两个方面:所谓正确性测试,即要求移植系统在逻辑功能上保持同原系统的一致,任意相同的输入要有相同的输出,包括异常处理输出;所谓性能测试,即在相同的系统硬件和对等的软件运行环境中,对比原系统和移植系统的运行时间,用以帮助性能上的改进。本文是基于某烟草行业ERP系统的移植工程,详细的研究了从Sqlserver数据库向Oracle数据库移植的解决方案,对于在移植过程中各个阶段所遇到的问题和解决的方法、技巧进行详细的论述,着重的论述了特殊代码的转换,移植系统的性能调试和对比测试方案等方面;并基于移植环境,在分析数据同步技术的现状的基础上,针对应用,提出了一种“基于SQL还原法”的适合于企业级数据同步的技术。该方法运用触发器或日志分析工具对源数据库变化进行捕获,还原出源数据库发生变更的SQL语句并记录日志,然后通过从日志文件中获取被还原的SQL语句,执行更新目标数据库,从而达到数据同步。该方法具有完全异构、灵活性好、通用性强、安全性高的特点。本论文论述的Sqlserver数据库向Oracle数据库系统移植及异构数据库同步的解决方案完整的涵盖了一般数据库移植及同步工程中的方方面面,对其他的数据库移植及同步工程也具有参考价值。本文集中于异构数据库管理系统移植技术及同步技术本身的讨论上,对系统的功能理解,并没有带入移植及同步工程的开发周期中,也因此在转换和测试上增添了难度。所以,对系统源代码的功能理解和异构数据库移植及同步技术的整合,仍是本文库继续探讨的地方,也是异构数据库移植及同步工程的发展方向。