适用于 Oracle 的数据库迁移评估扩展

注意

此扩展将于 2024 年 12 月 15 日停用。 对于出现的任何问题,我们将停止支持此工具,并且不会发布任何缺陷修复或进一步更新。

Azure Data Studio 中的 Database Migration Assessment for Oracle 扩展有助于评估要迁移到 Azure SQL 和 Azure Database for PostgreSQL 的 Oracle 工作负载。 该扩展可用于确定适当的 Azure SQL 或 PostgreSQL 目标,提供有关大小调整的建议,并指出迁移的复杂程度。

先决条件

安装 Azure Data Studio 扩展

按照以下步骤在 Azure Data Studio 中安装 Database Migration Assessment for Oracle 扩展。

  1. 在 Azure Data Studio 中打开扩展管理器。 可以选择扩展图标,或者在“视图”菜单中选择“扩展”。

  2. 在搜索栏中键入“Oracle”。

  3. 选择“适用于 Oracle 的数据库迁移评估”扩展扩展并查看其详细信息。

  4. 选择“安装” 。

    安装扩展的屏幕截图。

配置扩展设置

安装扩展后,可以配置多个扩展设置。

  1. 转到扩展并选择“Database Migration Assessment for Oracle”,选择“管理设置”图标,然后选择“扩展设置”。

    扩展的屏幕截图。

  2. 在扩展设置下,编辑任何扩展设置以满足环境的要求。

    扩展属性设置的屏幕截图。

    注意

    若要执行要迁移到 PostgreSQL 的 Oracle 代码评估,Oracle 客户端主路径和 Ora2Pg 安装路径是必需参数。

运行评估

安装评估扩展后,下一步是将数据库连接到 Oracle,从 Oracle 实例收集元数据信息,然后生成评估报告。

  1. 在菜单栏中转到连接图标。

    连接菜单栏的屏幕截图。

  2. 在“连接详细信息”中填写字段。

    1. 在“连接类型”字段中选择“Oracle”。
    2. 在“数据源”字段中,键入你的 Oracle 服务器名称和实例。
      1. 也可以提供 TNS 名称。 (确保已设置 ORACLE_HOME 环境变量,并且 TNSNAMES.ORA 文件位于 <ORACLE_HOME>/network/admin folder 中。)
      2. 对于容器数据库,可以使用 CDB 服务 ID 连接容器根数据库,也可以使用可插入数据库服务名称来连接到可插入数据库。
    3. 在“用户 ID”字段中提供数据库用户名。
    4. 在“密码”字段中提供数据库密码。

    连接详细信息”屏幕截图。

  3. 选择“连接” 。

  4. 现在,连接详细信息菜单中会显示一个新连接。

  5. 右键单击 Oracle 连接并选择“管理”。

    显示“管理数据库”屏幕的屏幕截图。

  6. 选择“迁移评估”。

    显示“Migration Assessment 数据库”屏幕的屏幕截图。

  7. 选择“运行新评估”。

    显示“运行新评估”屏幕的屏幕截图。

  8. 提供评估详细信息。

    1. 在“评估名称”字段中输入标题,例如 demo1
    2. 输入评估设置。
      1. 在“目标平台”字段中,输入目标迁移数据库。 目前,它支持将 Azure SQL 和 PostgreSQL 作为目标。

        注意

        PostgreSQL 目标为预览版。 此目标选项将停止使用。 应导出任何先前的评估。

      2. 在“性能数据收集”部分,选择“在 Oracle 数据库上运行性能数据收集(已连接)”或“添加 AWR 报告”。

        如果在高峰或实际负载期间运行此工具,建议使用“已连接”选项。 否则,请提供过去生成的 AWR 报告,以提供性能和大小调整建议。

        注意

        可插入数据库未启用 AWR 报告评估选项。

      3. 在“比例因子”字段中输入乘数值。

        • 如果推荐的 SKU 需要考虑其他峰值负载,则比例因子乘数应大于 1。 例如,突发负载、季节性使用情况和未来容量规划。 当迁移部分 Oracle 架构工作负载时,乘数应小于 1。
      4. 在“百分位利用率”字段中,输入用于调整 Azure 目标大小的百分位数值。

        • 考虑用于调整 Azure 目标大小的性能样本集的百分位值。

    显示评估详细信息屏幕的屏幕截图。

  9. 有两种类型的评估:

    • 工作负载评估。 在此评估中,Oracle 评估模块对架构对象执行的操作是轻型发现,并为迁移架构复杂性划分各种类别,同时准确估计转换时长。 此预评估有助于发现迁移到目标平台的可行性。

    • 代码评估。 代码评估对 Oracle 架构对象执行深入评估,然后会在粒度级别提供代码对象的整体准备情况(包括“就绪”、“需要审查”和“未就绪”对象类型),并更准确地提供其关联的转换时长。

      注意

      对于代码评估,该扩展使用开放源代码 Ora2Pg 架构转换器。

      如果 Oracle 客户端和/或 Ora2Pg 未与 Azure Data Studio 安装在同一台计算机上,请手动安装它们,或使用 GitHub 中的 Ora2Pg 安装脚本

      如果安装了 Oracle 客户端和 Ora2Pg,请确保在扩展设置中更新 Oracle 客户端主路径和 Ora2Pg 安装路径。

      • 在为 SQL 应用场景选择代码评估时,请选择要访问 Oracle 到 SQL 转换和迁移的架构。 默认情况下,所有符合条件的架构都会被选中进行评估。
  10. 选择“运行验证”以执行与安全权限、配置设置等相关的先决条件和各种验证规则。如果验证失败,则需要修复错误以进一步继续。

  11. 验证成功后,可以选择“运行评估”。

  12. 现在,在“最后五项评估”部分可以看到新的评估。

    显示用于命名评估的选项的屏幕截图。

  13. 选择评估链接以查看评估详细信息页。 可以查看最新评估状态。

    显示最新评估状态的屏幕截图。

  14. 选择“刷新”或等待评估完成。 默认情况下,评估状态页每隔 15 秒刷新一次。 将显示以下四种状态之一:成功、失败、正在进行或已取消。

查看评估

评估完成后,将为每个 Azure SQL 目标生成使用卡的合并输出:Azure 虚拟机中的 SQL Server、Azure SQL 数据库和 Azure SQL 托管实例,或 Azure Database for PostgreSQL 灵活服务器。

查看评估选项的屏幕截图。

每张卡片都包含多个部分。 卡片显示迁移到目标的总体可行性。 你也可以向下钻取各种迁移复杂性类别下的各个工作负载:

  • 功能兼容性部分提供功能评估评审结果。
  • SKU 推荐提供适当的目标大小。
  • 代码评估提供数据库对象的代码复杂性。

选择“查看报告详细信息”时,它将首先显示评估摘要。

显示评估摘要的屏幕截图。

如果选择的目标是 Database for Azure PostgreSQL,则根据选择的评估类型,将显示“数据库详细信息”选项卡或“代码评估”选项卡。

以下“数据库详细信息”选项卡按架构提供明细。 它会显示已发现的架构列表、迁移可行性以及估算的架构转换时间(小时)。

显示每个架构的明细的屏幕截图。

此时间是根据应用于对象计数、代码行数、启用的功能数和数据库大小的统计模型估算的。 为了更准确地评估代码转换,请使用代码评估。

注意

以下系统或 Oracle 内置架构被排除在工作负载评估之外:

APEXAPPQOSSYS、、CSMIGCTXSYSOWBSYSGSMADMIN_INTERNALFLOW_LBACSYSMDDATAMDSYSMGDSYSMGMT_VIEWEXFSYSODMMTMSYSODM_MTROJVMSYSOLAPSYSORACLE_OCMORDDATADVSYSORDSYSORDPLUGINSSQLTXPLAINSPATIAL_WFS_ADMIN_USRSYSSPATIAL_CSW_ADMIN_USRSI_INFORMTN_SCHEMASDESYSMANPERFSTATOWBSYS_AUDITOUTLNSYSTEMOSE$HTTP$ADMINDVFTRACESRVWKSYSWKPROXYWK_PROXYWEBSYSWK_TESTWMSYSDBMS_PRIVILEGE_CAPTUREDBSNMPXDBDBSFWUSERDIPDMSYSTSMSYSAUDSYSXS$NULL

SKU 建议提供以下项:

  • 合适的 Azure 目标。

  • 服务层级。

  • 用于提供推荐 SKU 的指标阈值。

    显示 SKU 建议的屏幕截图。

SKU 推荐将评估各项性能指标,如 CPU、内存、IOPS、延迟和存储。 根据使用情况和配置数据,推荐器将提供适当的目标和服务层级。 SKU 建议基于容器根实例或可插入数据库利用率。 架构选择被忽略并且不适用于 SKU 大小。

注意

如果在 Oracle 实例上启用了自动工作负载存储库 (AWR) 功能,则 SKU 推荐器将使用 DBA_HIST_ 视图来收集性能指标元数据。 否则,推荐器将使用服务器配置和其他系统视图信息来调整 Azure SQL 目标的大小。

代码兼容性(仅限 PostgreSQL 目标)提供了可转换为 Azure 目标的架构对象的摘要。 该报告将对象细分为以下类型:可自动转换、就绪(有条件)、需要手动修正和转换。

显示代码兼容性报告的屏幕截图。

该报告显示将代码迁移到 Azure PostgreSQL Database 所需的对象总数和转换工作时长。 图形图像提供了每个架构对象类型(如表、视图和群集)的明细。 这些工作分为“准备好 - 自动转换”、“需要审查”和“未准备好 - 需要手动转换”。

“未准备好”和“需要审查”部分的向下钻取提供了修正任务列表和每个任务的工作时长。

显示修正任务的屏幕截图。

功能评估提供 Oracle 到 Azure 数据目标的映射功能,以及将这些功能迁移到 Azure 目标所需的工作。

显示映射评估的屏幕截图。

可以通过选择“下载组合报告”或“下载单个报告”来下载报告以供脱机查看。

显示下载评估报告选项的屏幕截图。

还可以取消正在进行的评估、删除评估,以及将评估转移到另一个目录。

更改评估路径

  1. 转到扩展市场并搜索“Oracle 的数据库迁移评估”。
  2. 选择“管理”图标,然后选择“扩展设置”。
  3. 在“Oracle 评估: 评估路径”下提供新的评估路径。

显示“更改评估路径”选项的屏幕截图。

故障排除

日志

该扩展将错误、警告和其他诊断日志存储在默认日志目录中:

  • Windows - C:\Users\<username>.dmaoracle\logs\
  • Linux - ~/.dmaoracle/logs
  • macOS - /Users/<username>/.dmaoracle/logs

注意

默认情况下,该扩展会存储最后 7 个日志文件。

若要更改日志目录,请在扩展设置文件中更新 LogDirectory 属性。

操作系统 路径
Windows C:\Users\<username>\.azuredatastudio\extensions\microsoft.azuredatastudio-dma-oracle-<VersionNumber>\bin\service\Properties\ConfigSettings\extension-settings.json
Linux ~/.azuredatastudio/extensions/microsoft.azuredatastudio-dma-oracle-<VersionNumber>/<VersionNumber>/bin/service/Properties/ConfigSettings/extension-settings.json
macOS /Users/<username>/.azuredatastudio/extensions/microsoft.azuredatastudio-dma-oracle-<VersionNumber>/<VersionNumber>/bin/service/Properties/ConfigSettings/extension-settings.json

有关排查问题的详细信息,请访问排查 Oracle 扩展的数据库迁移评估错误

已知问题和限制

  • 提供的路径不存在。

    原因:缺少文件或者缺少对评估文件夹的权限。

    可行解决方案:

    • 用户对评估文件夹拥有读取和写入权限。
    • 如果缺少文件或文件夹,请删除评估,然后生成新的评估。
  • 与 Oracle 交互时遇到连接超时异常。

    原因:无法连接到 Oracle 实例。

    可行解决方案:

    • 检查防火墙规则是否阻止了 Oracle 侦听端口。
    • 运行 tnsping 并查看是否解析了服务 ID。

请与 Microsoft 联系以获取帮助

如果需要 Microsoft 的进一步帮助,请联系 @dmasupport。 为了加快周转速度,可以从默认日志目录附加日志。