适用于 Oracle 的数据库迁移评估扩展
注意
此扩展将于 2024 年 12 月 15 日停用。 对于出现的任何问题,我们将停止支持此工具,并且不会发布任何缺陷修复或进一步更新。
Azure Data Studio 中的 Database Migration Assessment for Oracle 扩展有助于评估要迁移到 Azure SQL 和 Azure Database for PostgreSQL 的 Oracle 工作负载。 该扩展可用于确定适当的 Azure SQL 或 PostgreSQL 目标,提供有关大小调整的建议,并指出迁移的复杂程度。
先决条件
一个运行 11g 或更高版本的 Oracle 数据库。
Oracle 用户应该拥有 CONNECT 和 SELECT ANY DICTIONARY 特权。
安装 Azure Data Studio 扩展
按照以下步骤在 Azure Data Studio 中安装 Database Migration Assessment for Oracle 扩展。
在 Azure Data Studio 中打开扩展管理器。 可以选择扩展图标,或者在“视图”菜单中选择“扩展”。
在搜索栏中键入“Oracle”。
选择“适用于 Oracle 的数据库迁移评估”扩展扩展并查看其详细信息。
选择“安装” 。
配置扩展设置
安装扩展后,可以配置多个扩展设置。
转到扩展并选择“Database Migration Assessment for Oracle”,选择“管理设置”图标,然后选择“扩展设置”。
在扩展设置下,编辑任何扩展设置以满足环境的要求。
注意
若要执行要迁移到 PostgreSQL 的 Oracle 代码评估,Oracle 客户端主路径和 Ora2Pg 安装路径是必需参数。
运行评估
安装评估扩展后,下一步是将数据库连接到 Oracle,从 Oracle 实例收集元数据信息,然后生成评估报告。
在菜单栏中转到连接图标。
在“连接详细信息”中填写字段。
- 在“连接类型”字段中选择“Oracle”。
- 在“数据源”字段中,键入你的 Oracle 服务器名称和实例。
- 也可以提供 TNS 名称。 (确保已设置
ORACLE_HOME
环境变量,并且TNSNAMES.ORA
文件位于<ORACLE_HOME>/network/admin folder
中。) - 对于容器数据库,可以使用 CDB 服务 ID 连接容器根数据库,也可以使用可插入数据库服务名称来连接到可插入数据库。
- 也可以提供 TNS 名称。 (确保已设置
- 在“用户 ID”字段中提供数据库用户名。
- 在“密码”字段中提供数据库密码。
选择“连接” 。
现在,连接详细信息菜单中会显示一个新连接。
右键单击 Oracle 连接并选择“管理”。
选择“迁移评估”。
选择“运行新评估”。
提供评估详细信息。
- 在“评估名称”字段中输入标题,例如
demo1
。 - 输入评估设置。
在“目标平台”字段中,输入目标迁移数据库。 目前,它支持将 Azure SQL 和 PostgreSQL 作为目标。
注意
PostgreSQL 目标为预览版。 此目标选项将停止使用。 应导出任何先前的评估。
在“性能数据收集”部分,选择“在 Oracle 数据库上运行性能数据收集(已连接)”或“添加 AWR 报告”。
如果在高峰或实际负载期间运行此工具,建议使用“已连接”选项。 否则,请提供过去生成的 AWR 报告,以提供性能和大小调整建议。
注意
可插入数据库未启用 AWR 报告评估选项。
在“比例因子”字段中输入乘数值。
- 如果推荐的 SKU 需要考虑其他峰值负载,则比例因子乘数应大于 1。 例如,突发负载、季节性使用情况和未来容量规划。 当迁移部分 Oracle 架构工作负载时,乘数应小于 1。
在“百分位利用率”字段中,输入用于调整 Azure 目标大小的百分位数值。
- 考虑用于调整 Azure 目标大小的性能样本集的百分位值。
- 在“评估名称”字段中输入标题,例如
有两种类型的评估:
工作负载评估。 在此评估中,Oracle 评估模块对架构对象执行的操作是轻型发现,并为迁移架构复杂性划分各种类别,同时准确估计转换时长。 此预评估有助于发现迁移到目标平台的可行性。
代码评估。 代码评估对 Oracle 架构对象执行深入评估,然后会在粒度级别提供代码对象的整体准备情况(包括“就绪”、“需要审查”和“未就绪”对象类型),并更准确地提供其关联的转换时长。
注意
对于代码评估,该扩展使用开放源代码 Ora2Pg 架构转换器。
如果 Oracle 客户端和/或 Ora2Pg 未与 Azure Data Studio 安装在同一台计算机上,请手动安装它们,或使用 GitHub 中的 Ora2Pg 安装脚本。
如果安装了 Oracle 客户端和 Ora2Pg,请确保在扩展设置中更新 Oracle 客户端主路径和 Ora2Pg 安装路径。
- 在为 SQL 应用场景选择代码评估时,请选择要访问 Oracle 到 SQL 转换和迁移的架构。 默认情况下,所有符合条件的架构都会被选中进行评估。
选择“运行验证”以执行与安全权限、配置设置等相关的先决条件和各种验证规则。如果验证失败,则需要修复错误以进一步继续。
验证成功后,可以选择“运行评估”。
现在,在“最后五项评估”部分可以看到新的评估。
选择评估链接以查看评估详细信息页。 可以查看最新评估状态。
选择“刷新”或等待评估完成。 默认情况下,评估状态页每隔 15 秒刷新一次。 将显示以下四种状态之一:成功、失败、正在进行或已取消。
查看评估
评估完成后,将为每个 Azure SQL 目标生成使用卡的合并输出:Azure 虚拟机中的 SQL Server、Azure SQL 数据库和 Azure SQL 托管实例,或 Azure Database for PostgreSQL 灵活服务器。
每张卡片都包含多个部分。 卡片显示迁移到目标的总体可行性。 你也可以向下钻取各种迁移复杂性类别下的各个工作负载:
- 功能兼容性部分提供功能评估评审结果。
- SKU 推荐提供适当的目标大小。
- 代码评估提供数据库对象的代码复杂性。
选择“查看报告详细信息”时,它将首先显示评估摘要。
如果选择的目标是 Database for Azure PostgreSQL,则根据选择的评估类型,将显示“数据库详细信息”选项卡或“代码评估”选项卡。
以下“数据库详细信息”选项卡按架构提供明细。 它会显示已发现的架构列表、迁移可行性以及估算的架构转换时间(小时)。
此时间是根据应用于对象计数、代码行数、启用的功能数和数据库大小的统计模型估算的。 为了更准确地评估代码转换,请使用代码评估。
注意
以下系统或 Oracle 内置架构被排除在工作负载评估之外:
APEX
、APPQOSSYS
、、CSMIG
、 CTXSYS
OWBSYS
GSMADMIN_INTERNAL
FLOW_
LBACSYS
MDDATA
MDSYS
MGDSYS
MGMT_VIEW
EXFSYS
ODM
MTMSYS
ODM_MTR
OJVMSYS
OLAPSYS
ORACLE_OCM
ORDDATA
DVSYS
ORDSYS
ORDPLUGINS
SQLTXPLAIN
SPATIAL_WFS_ADMIN_USR
SYS
SPATIAL_CSW_ADMIN_USR
SI_INFORMTN_SCHEMA
SDE
SYSMAN
PERFSTAT
OWBSYS_AUDIT
OUTLN
SYSTEM
OSE$HTTP$ADMIN
DVF
TRACESRV
WKSYS
WKPROXY
WK_PROXY
WEBSYS
WK_TEST
WMSYS
DBMS_PRIVILEGE_CAPTURE
DBSNMP
XDB
DBSFWUSER
DIP
DMSYS
TSMSYS
AUDSYS
XS$NULL
SKU 建议提供以下项:
SKU 推荐将评估各项性能指标,如 CPU、内存、IOPS、延迟和存储。 根据使用情况和配置数据,推荐器将提供适当的目标和服务层级。 SKU 建议基于容器根实例或可插入数据库利用率。 架构选择被忽略并且不适用于 SKU 大小。
注意
如果在 Oracle 实例上启用了自动工作负载存储库 (AWR) 功能,则 SKU 推荐器将使用 DBA_HIST_
视图来收集性能指标元数据。 否则,推荐器将使用服务器配置和其他系统视图信息来调整 Azure SQL 目标的大小。
代码兼容性(仅限 PostgreSQL 目标)提供了可转换为 Azure 目标的架构对象的摘要。 该报告将对象细分为以下类型:可自动转换、就绪(有条件)、需要手动修正和转换。
该报告显示将代码迁移到 Azure PostgreSQL Database 所需的对象总数和转换工作时长。 图形图像提供了每个架构对象类型(如表、视图和群集)的明细。 这些工作分为“准备好 - 自动转换”、“需要审查”和“未准备好 - 需要手动转换”。
“未准备好”和“需要审查”部分的向下钻取提供了修正任务列表和每个任务的工作时长。
功能评估提供 Oracle 到 Azure 数据目标的映射功能,以及将这些功能迁移到 Azure 目标所需的工作。
可以通过选择“下载组合报告”或“下载单个报告”来下载报告以供脱机查看。
还可以取消正在进行的评估、删除评估,以及将评估转移到另一个目录。
更改评估路径
- 转到扩展市场并搜索“Oracle 的数据库迁移评估”。
- 选择“管理”图标,然后选择“扩展设置”。
- 在“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。 为了加快周转速度,可以从默认日志目录附加日志。