本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移到 Amazon RDS for Oracle 的最佳实践
根据对您数据库和项目要求的评测,如果您的目标是迁移到 Amazon RDS for Oracle,请按照本节中的最佳实践预置目标数据库、执行迁移以及测试、操作和优化您的 Amazon RDS for Oracle 数据库。
重要
在迁移数据库之前,请务必制定回滚计划。
配置您的目标数据库
在完成评测、规划和准备数据库迁移策略后,在配置 Amazon RDS for Oracle 数据库时,请遵循以下最佳实践:
-
根据您对 CPU、内存、IOPS 和存储类型的要求调整 Amazon RDS for Oracle 数据库实例的大小。
-
设置正确的时区和字符集。
-
确保在正确的虚拟私有云 (VPC) 中启动 Amazon RDS。
-
使用正确的端口和 IP 地址创建安全组。
-
在私有子网中配置 Amazon RDS 数据库以提高安全性。
-
如果可能,请使用最新的 Oracle 数据库版本(当前为 19c)配置数据库实例。早期版本的支持已接近终止。有关更多信息,请参阅适用于 Oracle Database 19c 的 Amazon RDS
。 -
如果您想使用加密,请在配置 Amazon RDS 数据库时始终将其启用。
-
为每个 Amazon RDS 数据库创建单独的选项组和参数组。
从源数据库中导出数据
有许多工具可以将 Oracle 数据库迁移到 Amazon RDS for Oracle 数据库。最常用的工具是 Oracle Data Pump。在导出源 Oracle 数据库之前,请检查以下内容以简化导出过程:
-
检查数据库大小,看是否可以按架构迁移它,而不是迁移整个数据库。与一次性迁移所有架构相比,单独迁移架构不易出错,也更易于管理。
-
使用 Oracle Data Pump PARALLEL 参数以并行模式导出数据,以提高性能。
-
检查表中是否有大型对象 (LOB)。如果您有带有 LOB 的大表,我们建议您单独导出这些表。
-
在导出过程中,避免在源数据库上运行长时间的数据库事务,以避免 Oracle 读取不一致错误。
-
如果您使用的是 AWS DMS、Oracle GoldenGate 或 Quest SharePlex 等复制工具,请确保本地服务器上有足够的空间来保存 24-72 小时的存档日志,具体取决于迁移所需的时间。
将数据泵转储文件传输到 AWS
如果您使用的是 AWS Direct Connect,它在您的本地环境和 AWS 之间提供高带宽连接,则可以使用 Oracle DBMS_FILE_TRANSFER
将数据导入目标数据库
-
如果您要迁移非常大的数据库,我们建议您在迁移期间先配置一个更大的 Amazon RDS 实例类型
,以加快数据加载速度。迁移完成后,您可以将数据库实例更改为大小合适的实例类型。 -
如果需要,可以增加重做日志文件、撤消表空间和临时表空间的大小,以提高迁移期间的性能。
-
在导入过程中禁用多可用区选项,并在迁移完成后将其启用。
-
通过将备份保留期设置为零来禁用存档日志的生成,以加快数据加载速度。
-
通过提前创建表空间、用户、角色、配置文件和架构来准备目标数据库。
-
如果您有带有 LOB 的大表,请分别导入每个 LOB 表。
导入后步骤
-
检查导入日志文件中是否存在错误,并在导入完成后修复所有错误。
-
检查是否存在无效对象。如果找到,请编译并修复它们。
-
由于缺乏对 Amazon RDS 不允许或不支持的 SYS 对象的权限,某些过程可能无法编译。必须重写这些程序。
-
如果您使用的是序列,请根据源数据库验证序列值以避免序列不一致。
-
确保您的 Amazon RDS 数据库中的对象数量与源数据库中的对象数量相同。验证表、索引、过程、触发器、函数、包、约束和其他对象。
-
如果您的源数据库具有指向其他数据库的数据库链接,请测试连接以确认这些链接仍然有效。
-
收集字典级别和架构级别的统计信息,以获得最佳性能。
测试迁移
我们建议您进行以下测试,以便根据新的 Amazon RDS for Oracle 数据库验证您的应用程序:
-
您可能需要根据 Amazon RDS for Oracle 数据库版本升级 Oracle 客户端软件或 JDBC 软件。如果您已迁移到较新版本的 Oracle 数据库,则该数据库可能不支持旧版本的 Oracle 客户端软件。
-
执行功能测试。
-
比较源数据库和目标数据库中 SQL 查询的性能,并根据需要调整查询。有些查询在目标数据库中的执行速度可能会更慢,因此我们建议您在源数据库中捕获 SQL 查询的基准。
-
当应用程序团队完成测试并确认您的 Amazon RDS 数据库运行正常后,您可以:
-
根据评测结果调整 Amazon RDS 数据库实例的大小。
-
启用备份保留。
-
启用存档日志。
-
重置重做日志文件的大小。
-
启用多可用区选项。
-
创建 Amazon CloudWatch 警报并设置 Amazon Simple Notification Service (Amazon SNS)主题以备警报。
-
为了在概念验证 (POC) 阶段进行其他验证,我们建议进行以下补充测试:
-
运行性能测试以确保它们符合您的业务期望。
-
测试数据库失效转移、恢复和修复,确保满足 RPO 和 RTO 要求。
-
列出所有关键任务和报告,并在 Amazon RDS 上运行它们,以根据您的服务水平协议 (SLA) 评估其性能。
操作和优化您的 Amazon RDS 数据库
当您的数据库在 AWS 上时,请确保遵循云中监控、警报、备份和高可用性等领域的最佳实践。例如:
-
设置 CloudWatch 监控并启用详细监控。
-
使用 Amazon RDS 性能详情 和 Oracle 企业管理器 (OEM) 管理代理来监控您的数据库。
-
使用 SNS 主题设置提醒。
-
使用 AWS Backup 设置自动备份。您也可以使用 Oracle Data Pump 备份或手动拍摄快照。
-
为了实现高可用性,请设置 Amazon RDS Multi-AZ 特征。
-
如果您需要只读数据库,请根据需要在相同或跨 Amazon Web Services Region 内设置只读副本。