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

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

先决条件

安装 Azure Data Studio 扩展

按照以下步骤在 Azure Data Studio 中安装 Oracle 扩展的数据库迁移评估。

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

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

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

  4. 选择“安装” 。

    Screenshot of installing the extension.

配置扩展设置

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

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

    Screenshot of extension.

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

    Screenshot of extension properties settings.

    注意

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

运行评估

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

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

    Screenshot of connections menu bar.

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

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

    Screenshot of connection details.

  3. 选择“连接” 。

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

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

    Screenshot showing the Manage database screen.

  6. 选择“迁移评估”。

    Screenshot showing the Migration Assessment database screen.

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

    Screenshot showing the Run new Assessment screen.

  8. 提供评估详细信息。

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

        注意

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

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

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

        注意

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

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

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

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

    Screenshot showing the assessment details screen.

  9. 有两种类型的评估:

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

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

      注意

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

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

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

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

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

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

    Screenshot showing the option to name the assessment.

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

    Screenshot showing the latest assessment status.

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

查看评估

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

Screenshot of the view assessment option.

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

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

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

Screenshot showing assessment summary.

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

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

Screenshot showing the breakdown per schema basis.

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

注意

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

APEX, APPQOSSYS, AUDSYS, CSMIG, CTXSYS, DBMS_PRIVILEGE_CAPTURE, DBSFWUSER, DBSNMP, DIP, DMSYS, DVF, DVSYS, EXFSYS, FLOW_, GSMADMIN_INTERNAL, LBACSYS, MDDATA, MDSYS, MGDSYS, MGMT_VIEW, MTMSYS, ODM, ODM_MTR, OJVMSYS, OLAPSYS, ORACLE_OCM, ORDDATA, ORDPLUGINS, ORDSYS, OSE$HTTP$ADMIN, OUTLN, OWBSYS, OWBSYS_AUDIT, PERFSTAT, SDE, SI_INFORMTN_SCHEMA, SPATIAL_CSW_ADMIN_USR, SPATIAL_WFS_ADMIN_USR, SQLTXPLAIN, SYS, SYSMAN, SYSTEM, TRACESRV, TSMSYS, WEBSYS, WKPROXY, WKSYS, WK_PROXY, WK_TEST, WMSYS, XDB, XS$NULL

SKU 建议提供以下项:

  • 合适的 Azure 目标。

  • 服务层级。

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

    Screenshot showing SKU recommendations.

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

注意

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

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

Screenshot showing the code compatibility report.

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

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

Screenshot showing the remediation task.

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

Screenshot showing the mapped assessment.

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

Screenshot showing the download assessment report option.

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

更改评估路径

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

Screenshot showing the Change assessment path option.

故障排除

日志

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

  • 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。 为了加快转机速度,可以从默认日志目录附加日志