如何将 Oracle 数据库迁移到 MySQL 服务器?

Sur*_*aju 8 mysql migration oracle-11g-r2 mysql-workbench

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

我们正在考虑分两步进行这项活动。

  1. 将 Oracle 数据库转换为 MySQL 数据库。
  2. 编写存储过程以逐表复制。

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

Mik*_*hke 5

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

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

您可以根据需要多次重复第 3 步和第 4 步来逐步调整您的架构。同步还将接管其他人对架构所做的任何更改(双向同步)。

MySQL Workbench 不支持从 Oracle 迁移到 MySQL。我上面的所有建议都只是这样,人们可以尝试使其至少部分工作的想法。然而,这一切都没有经过测试,因为正如我所说,不支持从 Oracle 到 MySQL 的迁移。