架构正在发生变化的应用程序的数据迁移过程?

kar*_*ins 3 database migration oracle process

在使用了超过10年的应用程序并且由于缺乏可扩展性而不断受到限制之后,我们决定从头开始重写它.由于新架构与旧应用程序不同,因此数据库也不同.问题出现了:是否有任何工业流程将数据从以前的数据库迁移到新数据库?有些表是相似的,有些则不是.总的来说,我们需要一个流程来帮助我们确保在迁移过程中不会丢失任何数据或逻辑约束.

PS:旧数据库和新数据库都是Oracle数据库.

Mus*_*sis 6

虽然您没有在问题中指定这一点,但我假设您要开发新版本的应用程序/数据库,然后在某个切换点,您需要将旧数据库中的所有实时数据迁移到您的新数据库.

如果是这种情况,那么您实际上是在询问两个不同的过程:数据库结构的迁移(有一些修改),随后是数据本身的迁移.

对于第一个过程,最好的工具是你,开发人员(我不是说你是一个"工具" - 你知道我的意思).您可以引入旧数据库的结构,然后根据需要更改新版本; 然而,这种方法通常会留下过多的旧结构.我认为最好利用这种情况并从头开始重建数据库,使用原始数据库作为一般参考.

对于第二个过程,我将数据迁移视为一个单独的任务,需要单独编写和测试的应用程序.此应用程序可以是一组脚本或已编译的应用程序,也可以是最方便的任何内容.因为您的旧数据库和新数据库不具有相同的结构(实际上可能非常不同),所以没有商业工具可以自动处理此任务.通过将此视为您自己编写的独特应用程序,您可以在"上线"日期之前多次测试数据转换过程.