本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
平台改造建议
大多数用户在从 Exadata 本地数据库迁移时会选择 Amazon RDS for Oracle,以利用托管数据库服务并提高灵活性和弹性。Amazon RDS for Oracle 应该始终是您运行 Oracle 数据库的首选, AWS因为它具有自动化和管理功能。
亚马逊 EBS 卷类型注意事项
适用于 Oracle 的 Amazon RDS 提供两种 EBS 卷类型:通用固态硬盘 (SSD) 和预配置 IOPS 固态硬盘。您的数据库大小、IOPS 要求和估计吞吐量可帮助您确定要使用的适当的 EBS 卷类型。
当您的应用程序不需要高存储性能时,您可以使用通用型 SSD (gp2) 存储。gp2 存储的基准 I/O 性能为每 GiB 3 IOPS,最低为 100 IOPS。这意味着卷越大,性能越好。例如,一个 100 GiB 卷的基准性能为 300 IOPS。一个 1000GiB 卷的基准性能为 3000 IOPS。一个 gp2 卷(5334GiB 及更大)的最高基准性能为 16000 IOPS。大小低于 1000GiB 的单独 gp2 卷也有能力在延长的时间内突增至 3000 IOPS。
通用固态硬盘 (gp3) 卷每个 EBS 卷最多支持 16,000 个 IOPS。亚马逊 EBS gp3 卷的大小可以从 1 GiB 到 16 TiB 不等。使用 gp3 卷时,您的 Amazon RDS for Oracle 实例最多可以实现 64,000 个 IOPS。通过使用 gp3 存储卷,您可以独立于存储容量自定义存储性能。 存储性能是以下各项的组合I/O operations per second (IOPS) and how fast the storage volume can perform read and write operations (storage throughput). On gp3 storage volumes, Amazon RDS provides a baseline storage performance of 3,000 IOPS and 125 MiB/s。
对于除适用于 SQL Server 的 Amazon RDS 数据库引擎,当 gp3 卷的存储大小达到一定阈值时,基准存储性能将提高到 12,000 IOPS 和 500 MiB/s。这是因为卷条带化,其中存储使用四个卷而不是一个卷。
预置 IOPS SSD 卷
预配置 IOPS SSD (io1) 卷旨在满足对存储性能和一致性敏感的 I/O 密集型工作负载的需求。Amazon EBS io1 卷可提供个位数的毫秒延迟。当您为 Amazon RDS for Oracle 选择 Amazon EBS io1 卷时,必须提供分配的存储值和预配置的 IOPS 值。io1 卷的大小可以从 4 GiB 到 16 TiB 不等。每个 io1 卷的最大 IOPS 为 64,000。使用 io1 卷时,Amazon RDS for Oracle 实例的最大吞吐量可达 256,000 个 IOPS,最大吞吐量为 4 Gbps(需要 256 KB IOPS)。启用多可用区的 Amazon RDS for Oracle 实例的最大写入吞吐量为 6 MBps 25。
io2 Block Express 是一个较新的预配置 IOPS 固态硬盘存储选项。io2 卷的大小可以从 4 GiB 到 64 TiB 不等。每个 io2 卷的最大 IOPS 为 256,000。io2 Block Express 还提供亚毫秒的平均延迟,因此性能优于 io1。使用预配置 IOPS 固态硬盘存储时,建议使用 io2。您无需停机即可从 io1 卷升级到 io2 Block Express 卷,并在不增加存储成本的情况下显著提高应用程序的性能和可靠性。有关更多信息,请参阅 AWS 博客文章 Amazon RDS 现在支持任务关键型数据库工作负载的 i02 Block Express 卷
适用于 Oracle 的 Amazon RDS 最佳实践
从内部部署的 Exadata 迁移到适用于 Oracle 的 Amazon RDS 时,请考虑以下最佳实践:
-
在将数据从 Exadata 迁移到 Amazon RDS for Oracle 之前,请将重做日志的大小从默认值 128 MB 增加到默认值。否则,重做日志切换可能会过于频繁地发生,从而导致性能下降。
-
在初始数据加载后@@ 启用 Performance Insights(默认数据保留期为 7 天)。
-
在初始数据加载后,为生产数据库@@ 设置多可用区。
-
在初始数据加载后,将 Amazon RDS for Oracle 与亚马逊集成 CloudWatch(至少使用警报日志、侦听器和 OEM 代理)。
-
在关联的 Amazon RDS for Oracle 选项组中安装 Oracle Enterprise Manager (OEM) 代理。这需要一个已经存在于内部 AWS 或内部的正常运行的 OEM。您可以在 “高可用性” 模式下
设置 OEM AWS。 -
为以下内容@@ 实施 Amazon RDS 警报,以便在超过最大容量之前通知管理员:
-
CPU 利用率、写入 IOPS、读取 IOPS、写入吞吐量
-
读取吞吐量、可用内存、交换使用率
-
-
Amazon RDS 每五分钟将数据库实例的事务日志上传到 Amazon S3。要查看数据库实例的最新可恢复时间,请使用 AWS CLI describe-db-instances命令并查看该数据库实例的
LatestRestorableTime字段中返回的值。如果您的 point-in-time恢复要求少于五分钟,Amazon RDS 可以更频繁地上传事务日志。要更改默认值,请修改关联的 Amazon RDS for Oracle 参数组中的ARCHIVE_LAG_TARGET初始化参数。您可以将此参数的值设置为 60、120、180、240 或 300 秒。但是,如果设置较低的值,则需要权衡取舍:将生成更多的重做日志文件,并且会更频繁地切换日志文件。 -
在混合模式下实施 Oracle 统一审计,这是 Oracle 推荐的审计框架。默认情况下,Amazon RDS (
AUDIT_TRAIL=NONE) 上未启用统一审计。您可以通过设置AUDIT_TRAIL=DB或来启用它AUDIT_TRAIL=DB, EXTENDED。有关更多信息,请参阅 AWS 博客文章 Amazon RDS for Oracle 中的安全审计:第 1 部分。 -
要防范内部威胁,请配置数据库活动流(如果适用)。此功能可与 Oracle 统一审计配合使用,并提供数据库实例中运行的所有已审计报表(
SELECTDMLDDL、DCL、、、TCL)的近乎实时的流。审计数据是从统一的数据库审计位置收集的,而数据库活动的存储和处理则在 Amazon Kinesis Data Streams 的数据库之外进行管理。有关更多信息,请参阅 AWS 博客文章 Amazon RDS for Oracle 中的安全审计:第 2 部分。 -
如果您更喜欢标准审计,则可以在初始数据加载 CloudWatch 后将审计报表与 Amazon 集成。当您通过将
AUDIT_TRAIL参数设置为、或来启用标准审计时OSXMLXML, EXTENDED,Amazon RDS for Oracle 会生成审计记录,这些记录作为.AUD.XML操作系统文件存储在 Amazon RDS for Oracle 实例中。这些审计文件通常在 Amazon RDS for Oracle 实例中保留七天。您可以将 Amazon RDS for Oracle 配置为将这些文件发布到 CloudWatch,以便他们可以对日志数据进行实时分析,将数据存储在高度耐用的存储中,并使用 CloudWatch 日志代理管理数据。 AWS 除非您指定保留期,否则将在 AWS 帐户中无限期保留发布到 CloudWatch 日志的日志数据。