如何将数据从 Oracle 迁移到 MySQL:分步指南
作者:mmseoamin日期:2023-12-14

数据迁移在各种业务场景中发挥着至关重要的作用。当您的公司将其服务从本地迁移到云端时,数据迁移就会介入,将数据从旧位置传输到新位置。另一种常见的做法可能是更换或升级服务器或存储设备。在这种情况下,数据迁移可确保数据的顺利高效传输,最大限度地减少停机时间和中断。此外,数据迁移可以确保重要信息在新环境中保持准确和可访问,从而帮助维护数据库的完整性和一致性。

在本文中,我们将探讨如何使用dbForge Studio for MySQL和Devart ODBC driver for Oracle将数据从 Oracle 迁移到 MySQL 表。 

为什么从 Oracle 数据库迁移到 MySQL 数据库?

您可能出于任何原因需要将数据从 Oracle 迁移到 MySQL 数据库,例如:

  • 与 Oracle 相比,MySQL 更具成本效益。由于 MySQL 是一个开源数据库,因此不需要相关的许可成本。
  • MySQL 因其简单的设置过程和用户​​友好的界面而简单而灵活。与 Oracle 更复杂且功能丰富的 PL/SQL 语言相比,MySQL 中的语法和命令通常更容易学习和理解。
  • 由于其高性能和可扩展性,MySQL 可以高效处理大量数据,同时保持最佳的数据库性能。
  • MySQL 受益于开源社区,该社区提供了大量故障排除和开发支持、资源和文档。社区经常发布 MySQL 数据库的更新和改进,确保其保持可靠和最新。
  • MySQL兼容多种平台和操作系统,可以轻松地与各种编程语言、框架和工具集成,从而使数据迁移更加容易。

    先决条件

    数据库迁移包括迁移模式、表和数据。为此,我们将下载并使用以下工具:

    • dbForge Edge

      是一个包含四个数据库 IDE 的通用套件,每个 IDE 都允许在不同的数据库系统上执行数据库开发、管理和管理任务,包括 Microsoft SQL Server、MySQL、MariaDB、Oracle、PostgreSQL 和 Amazon Redshift。所有 Studio 中都提供的数据导入功能允许用户快速、轻松地从多个源(包括 ODBC 驱动程序)导入数据。

    • Devart ODBC Driver for Oracle

      它是一个可靠且简单的工具,可在 32 位和 64 位 Windows、macOS 和 Linux 上通过 ODBC 兼容工具访问 Oracle 数据库。

      使用 ODBC 的优点

      在深入研究数据迁移之前,我们先来看看开发人员和组织通过使用 Devart ODBC驱动程序可以获得的好处:

      • 支持多种数据库,包括 Oracle、MySQL、PostgreSQL、SQL Server、SQLite 等流行数据库。
      • 由于最大限度地减少了 CPU 周期和 RAM 使用量,因此在给定时间范围内处理相同级别的数据时使用更少的系统资源。
      • 支持各种身份验证机制和加密协议,例如 SSL 和 SSH 数据加密以及 HTTPS 隧道。
      • 确保全面的 Unicode 合规性,从而能够有效检索和修改多语言数据库中的数据,并保持语言完整性。
      • 享受经济高效的解决方案,该解决方案提供可靠且功能丰富的驱动程序安装包,无需部署和配置任何其他软件。这反过来又大大降低了部署成本。
      • 在流行的操作系统(例如 Windows、macOS 和 Linux)上运行 ODBC 驱动程序。
      • 支持所有数据类型,可以映射到ODBC数据类型。

        如何使用 ODBC 将 Oracle 数据转换为 MySQL

        要使用 ODBC 将数据从 Oracle 迁移到 MySQL 数据库,您需要按照数据迁移计划图像中显示的步骤进行操作  。

        如何将数据从 Oracle 迁移到 MySQL:分步指南,第1张

        让我们详细检查每个步骤。在开始之前,打开dbForge Studio for Oracle并从 Oracle sakila.city表中检索数据,该数据将导入到 MySQL 表中。

        如何将数据从 Oracle 迁移到 MySQL:分步指南,第2张

        安装和配置 Oracle 的 ODBC 驱动程序

        要将 Oracle 数据转换为 MySQL,您需要在将进行数据迁移的计算机上下载Devart  ODBC Driver for Oracle 。

        要安装驱动程序,请转到下载文件夹并双击DevartODBCOracle.exe安装文件。在打开的设置向导中,执行以下步骤:

        • 单击“下一步”启动安装。
        • 阅读并接受许可协议条款。
        • 指定将安装 Devart ODBC Driver for Oracle 的目标文件夹的路径。
        • 选择要安装的组件。默认情况下,所有选项均处于选中状态。如果要从安装中排除某些组件,请清除相应的复选框。
        • 验证设置并单击“安装”。

          完成后,单击“完成”关闭安装向导。

          如何将数据从 Oracle 迁移到 MySQL:分步指南,第3张

          在使用 ODBC 驱动程序继续导入数据之前,您需要在数据源管理器实用程序 中为 ODBC 驱动程序 设置 数据源名称 (DSN)。要打开它,请在计算机的搜索栏中键入ODBC 数据源并选择它。在我们的示例中,我们使用 64 位版本的 ODBC 数据源管理器为 ODBC 驱动程序创建 DSN。

          如您所见,数据源名称有两个选项卡: 

          • 用户 DSN可供在系统中创建它的用户访问。
          • 任何登录系统的用户都可以访问系统DSN 。如果您想要拥有唯一访问权限,请转至 User DSN。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第4张

            在示例中,我们转到“系统 DSN”选项卡并单击 “添加” 以创建新的数据源。在打开的对话框中,选择Devart ODBC Driver for Oracle,然后单击 完成。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第5张

            在 “Devart ODBC Driver for Oracle Configuration” 对话框中,输入数据源的名称并指定 Oracle 主机名或 IP 地址、端口号、数据库名称、用户名和密码。单击“测试连接”以验证连接是否已正确安装和配置,然后在弹出窗口中单击“确定” 。要保存 DSN,请单击“确定”。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第6张

            注意:如果连接的用户具有多个模式的访问权限,则所有这些模式都将在 dbForge Studio for MySQL 的数据导入向导中可见。但是,如果您想在 Studio 中显示特定的 Oracle 数据库,请导航至“高级设置”选项卡并在“架构”字段中指定数据库名称。不要忘记单击“确定”保存更改。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第7张

            之后,创建的 DSN 将出现在ODBC 数据源管理器实用程序的系统 DSN选项卡上。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第8张

            使用 ODBC 连接到 Oracle 数据库

            现在,我们可以连接Oracle数据库,将数据迁移到MySQL表中。请记住,数据可以复制到新数据库或现有数据库。

            要继续,请打开 dbForge Studio for MySQL。在数据库资源管理器中,右键单击要导入的数据库,然后选择工具>导入数据。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第9张

            在数据导入向导中,选择 ODBC 源文件并单击下一步。

            如何将数据从 Oracle 迁移到 MySQL:分步指南,第10张

            在ODBC 选项页面上,执行以下操作:

            • 在“数据源规范”下,选择“使用系统或用户数据源名称”,然后从下拉列表中选择创建的 ODBC 驱动程序。
            • 在登录信息下,输入 ODBC 驱动程序连接到的 Oracle 服务器的用户名和密码。
            • 单击“测试连接”以验证连接是否已成功建立。然后,单击“确定”关闭弹出窗口。
            • 单击“下一步”进入下一页。

              如何将数据从 Oracle 迁移到 MySQL:分步指南,第11张

              将 Oracle 架构迁移到 MySQL

              在“目标”页面上,“源”窗格显示连接的 Oracle 用户名具有访问权限的 Oracle 架构表。目标窗格显示 MySQL 服务器连接、数据库以及可以导入数据的表。

              要将数据从 Oracle 导入到 MySQL,请在我们的示例中选择源表 – sakila.city 。默认情况下,目标表将被选择为同名的新表。您还可以通过选择现有表,然后从列表中选择表,将数据复制到 MySQL 数据库中的现有表。

              如何将数据从 Oracle 迁移到 MySQL:分步指南,第12张

              注意:要导入特定列,请单击数据导入向导的目标页面底部的自定义查询。在“源查询”对话框中,在文本字段中输入查询,然后单击“确定”以检索要导入的数据。

              如何将数据从 Oracle 迁移到 MySQL:分步指南,第13张

              下一步是切换到“映射”页面,您可以在其中配置列的数据类型。在这里您可以看到具有指定数据类型的列。此外,您还可以预览包含导入数据的表。由于我们将数据导入到新表中,Studio 将自动创建并映射所有列。

              但是,我们可以更改 MySQL 表中列的数据类型。例如,让我们为City列设置一个整数类型。为此,请双击“类型”列中所需列的数据类型。在“列属性”对话框中,从“数据类型”下拉列表中选择“INT”数据类型,然后单击“确定”保存更改。此外,您还可以分配主键或唯一值。

              需要注意的是,如果将数据导入到现有表中,则只会映射具有相同名称的列;其余的应该手动映射。 

              如何将数据从 Oracle 迁移到 MySQL:分步指南,第14张

              将数据从 Oracle 迁移到 MySQL

              当我们完成架构和表的设置后,就可以将数据迁移到表中了。在数据 导入向导中,导航到显示以下导入模式的模式页面:

              • Append:将记录添加到目标表中。
              • 更新:用源表中的匹配记录更新目标表中的记录。
              • Append/Update:如果目标表中存在记录,则更新该记录;否则,添加一条记录。
              • 删除:删除目标表中与源表中的记录匹配的记录。
              • 重新填充:删除目标表中的所有记录并从源中重新填充它们。

                根据您将数据导入到新表(如我们的示例)还是现有页面,填充表的导入模式会有所不同。对于将数据导入到新的目标表,只能采用Append方式。对于现有表的数据导入,可以使用所有导入方式。

                如何将数据从 Oracle 迁移到 MySQL:分步指南,第15张

                最后一步涉及选择数据输出方法。默认情况下,选择将数据直接导入数据库选项,我们建议保持原样。此外,您可以在内部编辑器中打开数据导入脚本以进行进一步修改或查看或将脚本保存到文件以供以后使用。

                如何将数据从 Oracle 迁移到 MySQL:分步指南,第16张

                现在,单击“导入”并查看结果。数据导入过程完成后,您将看到以下内容:

                如何将数据从 Oracle 迁移到 MySQL:分步指南,第17张

                单击“完成”关闭向导。

                为了确认数据从 Oracle 表成功迁移到 MySQL 表,让我们导航回Database Explorer。然后,刷新它以确保反映最新的更改。展开oracle_data数据库,右键单击导入的表,然后选择检索数据。此操作将从 MySQL 表中获取数据并验证相应 Oracle 表中的数据是否已准确导入。

                伟大的!结果网格显示从 Oracle 表导入的数据。

                如何将数据从 Oracle 迁移到 MySQL:分步指南,第18张

                我们已经成功完成了从Oracle表到MySQL表的数据迁移过程。不过,让我们花点时间讨论一下本文中使用的工具:dbForge Studio for MySQL 和 dbForge Studio for Oracle。这两个工具都是使用dbForge Edge安装文件安装的。

                使用 dbForge Edge 而不是单独工作室的好处

                数据库开发人员的常见做法是同时使用不同的数据库管理系统。此外,如果这些工具涵盖广泛的特性和功能并且符合您的要求,那就更好了。这很重要,因为您的日常工作可能包括数据库开发、管理、部署、测试、性能优化、数据分析、报告等。

                这就是为什么与单独的 dbForge Studio 相比,dbForge Edge 是一个完美的选择。让我们看看该套件可以为您日复一日提高工作效率带来的好处:

                • dbForge Edge 包含四个终极数据库 IDE,具有类似直观的用户界面。这减少了学习曲线并提高了生产力,因为开发人员可以使用熟悉的工具和工作流程,而不管底层数据库系统如何。
                • 这些 IDE 均具有全面且通用的强大功能,包括代码编辑、调试、模式比较、数据同步、数据导入/导出等。这些工具可帮助开发人员应对任何与数据库相关的任务,并提高开发效率。处理并提高代码质量。
                • 该捆绑包允许与 Microsoft SQL Server、MySQL、MariaDB、Oracle、PostgreSQL 和 Amazon Redshift 配合使用。这种集成消除了在不同工具之间切换的需要,并允许无缝的跨数据库管理。
                • 集成工具鼓励使用多个数据库的团队成员之间的协作和知识共享。这允许在整个团队中轻松共享数据库连接、查询、脚本和其他工件,并简化多数据库环境中的团队合作。
                • 最后,由于 dbForge Edge 极具吸引力的价格,您将能够节省成本。功能齐全的 dbForge Edge 企业版的 1 年订阅费用低于所有四个 IDE 的总价。

                  总而言之,dbForge Edge 为多数据库管理提供了通用解决方案,可提高不同数据库环境中的生产力、协作和高效数据库开发。

                  结论

                  在本文中,我们研究了如何使用 ODBC 驱动程序将数据从 Oracle 迁移到 MySQL 表。我们证明了 dbForge Studio for MySQL 和 ODBC 驱动程序的组合是一种在不同服务器之间传输数据的灵活且简单的方法。此外,Studio 中提供的强大数据导入功能不仅允许您导入数据,还可以准备脚本以供将来使用或在需要时执行测试或调试操作。