你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 Oracle 工作负荷迁移到 Azure 虚拟机的容量规划

本文基于 Azure 云采用框架指南,提供有关 Microsoft Azure 上 Oracle 工作负载的基础结构容量规划的注意事项。 本文包括帮助你完成此规划过程的建议和工具。

在 Azure 上运行 Oracle 数据库工作负荷时,容量规划对于高效性能和成本管理至关重要。 本文介绍用于准确分配资源、平衡性能需求和优化成本的指南、方法和工具。 特定的容量要求取决于数据库工作负荷的性能特征。 这些特征是事务性、分析性或混合特征。 Oracle 数据库工作负荷的约束因素通常是处理能力、内存和吞吐量。

容量规划可帮助你为 Azure 上的 Oracle 体系结构选择适当的基础结构。 必须了解数据库存储容量才能有效地实现此过程。

容量规划注意事项

Azure 基础结构即服务(IaaS)上 Oracle 工作负荷的容量规划是一个过程,需要深入了解工作负荷要求和可用的 Azure 资源。

总体性能注意事项

  • 现有环境可能无法作为 Azure 上 Oracle 数据库工作负荷要求的准确大小度量值。 使用 Oracle 自动工作负荷存储库 (AWR) 报告了解用于迁移的工作负荷或工作负荷的性能特征。 AWR 报表包含 Oracle 数据库工作负荷的性能统计信息。

  • 如果没有可用的 AWR 性能统计信息,则可以将当前的环境用作应用服务器的规模测度。 应从应用程序服务器收集性能指标,以确保适当调整应用程序服务器和任何平台即服务(PaaS)解决方案的大小。

    注意

    若要收集 AWR 报告,需要为数据库工作负荷购买 Oracle 诊断包许可证。 可以使用 Statspack 报表作为 AWR 报表的替代方法。 Statspack 报表是 AWR 报表的子集,不需要诊断包许可证。

  • 收集数据库工作负载的 AWR 报表:

    • 当工作负荷遇到峰值负载时。 如果不知道峰值加载时间,请使用 busiest_awr 脚本 来确定最繁忙的 AWR。

    • 在代表峰值负载的时段内。 例如,如果峰值负载发生在月末过程期间,则在月末过程中生成 AWR 报告。 该时间段应仅包括峰值负载时间,并排除长时间的低负载。 如果在 AWR 报告中包括低负载的时间段,则性能统计信息表示平均值,而不是实际工作负荷性能要求。

    • 对于在数据库上构成大量负载的活动,例如批处理或其他活动。

  • 在高峰负载和类似情况下收集 AWR 报告。 若要确定适当的虚拟机(VM)SKU 和存储配置,请参阅 基于 Oracle AWR 报表调整 Azure 资源的大小。 如果管理多个 Oracle 数据库工作负荷并考虑在同一 VM 上合并多个工作负荷,请使用 Oracle 迁移助手工具(OMAT)。 OMAT 是一种自动化大小评估工具,它基于 AWR 报告生成基础结构评估,并为可能的 VM 和存储配置提供建议。

计算注意事项

确定数据库工作负荷的基本性能要求后,请考虑以下 VM 规划建议:

  • 若有必要,请使用限制性核心。 受约束的核心结合了较大 VM SKU 的内存和吞吐量容量以及较小 VM SKU 的 vCPU 容量。 从 Oracle 许可成本的角度来看,约束核心是可取的,因为 Oracle 许可基于处理器核心。 有关 Oracle 许可在 Azure 上的工作原理的详细信息,请参阅 云计算环境中授权 Oracle 软件。 有关受限制核心的详细信息,请参阅 Azure VM 大小

  • 对于 Oracle 工作负荷,使用内存优化的虚拟机。 内存优化 VM 的内存与 vCPU 比率高于常规用途 VM。 这些 VM 是 Oracle 工作负载的首选,这些工作负荷通常是内存密集型的。 有关内存优化 VM 的详细信息,请参阅 内存优化 VM 大小

  • 评估整体体系结构时,请包括用于高可用性、非生产环境等所需的其他虚拟机 (VM)。

存储注意事项

Oracle 数据库工作负荷的性能和可靠性在很大程度上依赖于底层存储基础结构的设计和配置。 请考虑以下存储规划指南:

  • 如果使用托管磁盘,请确保使用适用于 Oracle 工作负荷的 Azure 高级 SSD、Azure 高级 SSD v2 或 Azure 超级磁盘存储。 不建议将 Azure 标准 SSD 或 Azure 标准 HDD 用于生产 Oracle 工作负荷。 有关高级 v2 SSD 和超级磁盘存储限制的详细信息,请参阅 Azure 托管磁盘

  • 磁盘延迟可能是一个考虑因素,具体取决于工作负荷的特征。 有关磁盘延迟的详细信息,请参阅 Azure 托管磁盘类型

  • 如果使用高级 SSD,请将主机缓存配置为 ReadOnly,适用于所有数据磁盘,并为 OSDisk 类配置为 ReadWrite。 大于 4,095 GB 的磁盘不支持主机磁盘缓存。 若要创建大于 P50 参数或 4 TB 的卷,请分配多个高级 SSD 磁盘以生成 RAID-0 条带逻辑卷。 使用卷管理器(例如 Linux 逻辑卷管理器版本 2(LVM2)或分配多个高级 SSD 磁盘来生成 Oracle 自动存储管理(ASM)磁盘组,以满足所需的容量或所需的吞吐量。

  • 使用托管磁盘时,附加到 VM 且受 VM SKU 约束的所有磁盘的累积吞吐量决定了磁盘吞吐量。 有关详细信息,请参阅 虚拟机和磁盘性能

  • 在使用托管磁盘处理写入密集型工作负荷时,请考虑将 Ultra Disk Storage 用于重做日志。

  • 如果吞吐量要求超过单个 VM 的最大吞吐量,请考虑使用网络存储,例如 Azure NetApp Files,因为对于此类配置,限制在于 VM 的网络吞吐量或出口,而不是磁盘吞吐量。

  • 如果经常使用 Oracle 临时文件,请考虑选择具有临时磁盘的 VM SKU,并将临时文件放在临时磁盘上。 此配置可减少数据磁盘上的输入/输出(I/O)负载。

后续步骤