如何将Oracle数据库迁移到MySQL服务器?[关闭]


8

当前,我们的应用程序正在使用Oracle 11g数据库运行。我们正在开发在MySQL群集上运行的应用程序的更新版本。我们需要将数据从Oracle数据库迁移到MySQL数据库。这不是数据库对象的直接副本。在较新版本的应用程序中,架构(表结构和关系)已更改。而且审计表也需要复制。有什么方法可以映射旧Oracle模式和新MySQL模式中的表,列并应用复制,以便复制数据?

我们正在考虑分两个步骤进行此活动。1.将Oracle数据库转换为MySQL数据库。2.编写存储过程以逐表复制。

从一个RDBMS供应商到另一供应商执行这种数据库迁移时,是否有最佳实践?是否有任何开源或商业工具可用于此?

Answers:


5

我建议分两个步骤进行此迁移。

  1. 使用MySQL Workbench将大多数数据库对象和数据迁移到MySQL(表数据也将通过此过程复制)。有关详细信息,请参见使用MySQL Workbench迁移向导。这将使您无需人工处理诸如存储过程之类的特定对象。没有工具可以执行自动迁移,因为Oracle和MySQL之间存储的例程差异很大。
  2. 使用MySQL Workbench将迁移的数据库反向工程为模型。
  3. 使用此模型可以将对象调整为新的架构结构。
  4. 将模型同步到服务器以应用更改。根据您所做的更改,这可能是非破坏性的,但是当然,备份始终是一个好主意。

您可以重复执行步骤3和4任意多次,以逐步调整架构。同步还将接管他人对模式所做的任何更改(双向同步)。

MySQL Workbench不支持从Oracle迁移到MySQL。我上面的所有建议仅仅是,想法可以尝试使其至少部分起作用。但是,由于我不支持从Oracle到MySQL的迁移,因此没有任何测试。


0

我最近使用一个名为DBConvert的程序将Oracle DB转换为MySQL。 有一个免费版本,可以在大表中插入水印,但是可以修复。;)这并不完美,转换后可能需要进行一些修补才能修复。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.