

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 从 Oracle Database Enterprise Edition 更换平台到 Amazon RDS for Oracle 上的 Standard Edition 2。
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle"></a>

*Lanre（Lan-Ray）showunmi 和 Tarun Chawla，Amazon Web Services*

## Summary
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle-summary"></a>

Oracle Database Enterprise Edition (EE) 是许多企业运行应用程序的流行选择。然而，在某些情况下，应用程序很少或根本不使用 Oracle Database EE 功能，因此没有理由承担巨额许可成本。迁移到 Amazon RDS 时，您可以通过将此类数据库降级为 Oracle 数据库标准版 2 (SE2) 来节省成本。

此模式描述了从本地迁移到 [Amazon RDS for Oracle SE2 时，如何从 Oracle Database EE 降级到 Oracle](https://aws.amazon.com/rds/oracle/) 数据库。如果您的 EE Oracle 数据库已经在 Amazon RDS 或亚马逊[弹性计算云 (Ama](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) zon EC2) 实例上运行，则此模式中介绍的步骤也适用。

有关更多信息，请参阅 AWS Prescriptive Guidance 指南，了解[评估将 Oracle 数据库降级到 Standard Edition 2 on AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/evaluate-downgrading-oracle-edition/welcome.html)。

## 先决条件和限制
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle-prereqs"></a>

**先决条件**
+ 一个有效的 Amazon Web Services account。
+ Oracle Database Enterprise Edition
+ 客户端工具，例如 [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/) 或 SQL\$1Plus，用于连接和在 Oracle 数据库上运行 SQL 命令
+ 用于执行评测的数据库用户。例如以下用户之一：
  + 拥有足够[权限](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Permissions)运行 [AWS Schema Conversion Tool (AWS SCT) ](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)评测的用户
  + 具有足够权限的用户，可以对 Oracle 数据库字典表运行 SQL 查询
+ 用于执行数据库迁移的数据库用户，例如以下用户之一：
  + 拥有足够[权限](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed)运行 [AWS Database Migration Service(AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 的用户
  + 具有[执行 Oracle Data Pump 导出和导入的足够权限](https://docs.oracle.com/database/121/SUTIL/GUID-8B6975D3-3BEC-4584-B416-280125EEC57E.htm#SUTIL807)的用户
  + 拥有足够[权限运行 Oracle 的](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/user_assignment.htm#GIORA546)用户 GoldenGate

**限制**
+ Amazon RDS for Oracle 具有最大数据库大小。有关更多信息，请参阅 [Amazon RDS 数据库实例存储](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)。

**产品版本**

此文档中描述的一般逻辑适用于 9i 及更高版本的 Oracle。有关自托管数据库和 Amazon RDS for Oracle 数据库的支持版本，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)。

若要在不支持 AWS SCT 的情况下确定功能使用情况，请在源数据库上运行 SQL 查询。要从不支持 AWS DMS 和 Oracle Data Pump 的早期版本 Oracle 迁移，请使用 [Oracle 导出和导入实用程序](https://docs.oracle.com/cd/B19306_01/server.102/b14215/exp_imp.htm)。

有关当前支持的版本的列表，请参阅 AWS 文档中的 [Oracle on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)。有关定价和支持的实例类的详细信息，请参阅 [Amazon RDS for Oracle pricing](https://aws.amazon.com/rds/oracle/pricing/)。

## 架构
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle-architecture"></a>

**源技术堆栈**
+ 在本地或亚马逊上运行的 Oracle 数据库企业版 EC2

**使用原生 Oracle 工具瞄准技术堆栈**
+ 运行 Oracle 数据库的 Amazon RDS for Oracle SE2

![\[从本地 Oracle 数据库迁移至 Amazon RDS 的三步流程。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/a1b28050-9bab-4de6-b2a9-b97b3e5070bd/images/bf765c5b-4b12-4a8c-b27c-c5e0bd605dd1.png)


 

1. 使用 Oracle Data Pump 导出数据。

1. 通过数据库链接将转储文件复制至 Amazon RDS。

1. 使用 Oracle Data Pump 将转储文件导入 Amazon RDS。

**使用 AWS DMS 瞄准技术堆栈**
+ 运行 Oracle 数据库的 Amazon RDS for Oracle SE2
+ AWS DMS

![\[使用 AWS DMS 从本地 Oracle 数据库迁移至 Amazon RDS 的四步流程。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/a1b28050-9bab-4de6-b2a9-b97b3e5070bd/images/fef4eced-1acb-4303-baaa-5c1c29650935.png)


1. 使用 Oracle Data Pump 和 FLASHBACK\$1SCN 导出数据。

1. 通过数据库链接将转储文件复制至 Amazon RDS。

1. 使用 Oracle Data Pump 将转储文件导入 Amazon RDS。

1. 使用 AWS DMS [更改数据捕获 (CDC)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)。

## 工具
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle-tools"></a>

**Amazon Web Services**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可帮助您将数据存储迁移到 Amazon Web Services Cloud，或者在云和本地设置的组合之间迁移。
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可帮助您在 Amazon Web Services Cloud 中设置、操作和扩展关系数据库。此模式使用了 Amazon RDS for Oracle。
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)** **提供了一个基于项目的用户界面，用于自动评测、转换源 Oracle 数据库的数据库架构，并将其复制为与 Amazon RDS for Oracle 兼容的格式。AWS SCT 让您可以分析将 Oracle 许可证类型从 Enterprise 版更改为 Standard Edition 可以实现的潜在成本节省。AWS SCT 报告的**许可评估和云支持**部分提供了有关正在使用的 Oracle 功能的详细信息，因此您可在迁移至 Amazon RDS for Oracle 时做出明智的决定。

**其他工具**
+ 原生 Oracle 导入和导出实用工具可以将 Oracle 数据移入和移出 Oracle 数据库。Oracle 提供两种类型的数据库导入和导出实用工具：[源 Export and Import](https://docs.oracle.com/cd/B19306_01/server.102/b14215/exp_imp.htm)（适用于早期版本）和[ Oracle Data Pump Export and Import](https://docs.oracle.com/cd/B19306_01/server.102/b14215/part_dp.htm#CEGJCCHC)（适用于 Oracle Database 10g 版本 1 及更高版本）。
+ [Oracle GoldenGate](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleGoldenGate.html) 提供了实时复制功能，因此您可以在初始加载后同步目标数据库。此选项有助于帮助减少上线期间的应用程序停机时间。

## 操作说明
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle-epics"></a>

### 执行迁移前评测
<a name="make-a-pre-migration-assessment"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 验证应用程序数据库要求。 | 确保您的应用程序经过认证，可以在 Oracle 数据库上运行 SE2。直接咨询软件供应商、开发人员或应用程序文档。 | 应用程序开发者、数据库管理员、应用程序所有者 | 
| 直接在数据库中研究 EE 功能的使用。 | 若要确定 EE 功能的使用，请执行以下操作之一：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle.html) | 应用程序所有者，数据库管理员，应用程序开发者 | 
| 确定 EE 功能在运营活动中的使用。 | 数据库或应用程序管理员有时依赖仅限 EE 的功能进行操作活动。常见的示例包括在线维护活动（索引重建、表移动）和批处理作业对并行性的使用。只要有可能，就可以通过修改操作来缓解这些依赖项。确定这些功能的用途，并按成本和收益做出决策。使用 “[比较 Oracle 数据库 EE 和 SE2 功能](https://docs.aws.amazon.com/prescriptive-guidance/latest/evaluate-downgrading-oracle-edition/compare-features.html)” 表作为指南，确定 Oracle 数据库中可用的功能 SE2。 | 应用程序开发者、数据库管理员、应用程序所有者 | 
| 查看 EE Oracle 数据库的工作负载模式。 | Oracle 数据库在任何时候 SE2 都会自动将使用量限制为最多 16 个 CPU 线程。如果您的 Oracle EE 数据库已获得使用 Oracle 诊断包的许可，请使用自动工作量存储库 (AWR) 工具或 DBA\$1HIST\$1\$1 视图来分析数据库工作负载模式，以确定降级到时，16 个 CPU 线程的最大限制是否会对服务级别产生负面影响。 SE2确保您的评测涵盖活动高峰期，如日末、月末或年末处理。 | 应用程序所有者，数据库管理员，应用程序开发者 | 

### 在 AWS 上准备目标基础设施
<a name="prepare-the-target-infrastructure-on-aws"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 部署和配置联网基础设施。 | 创建[虚拟私有云（VPC）和子网](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)、[安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)和[网络访问控制列表](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)。 | AWS 管理员、云架构师、网络管理员、 DevOps 工程师 | 
| 预配置 Amazon RDS for Oracle SE2 数据库。 | 预置目标 [Amazon RDS for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html) SE2 数据库，以满足应用程序的性能、可用性和安全要求。建议对生产工作负载使用多可用区配置。但是，为了提高迁移性能，您可将[启用多可用区](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html)推迟到数据迁移之后。 | 云管理员、云架构师、数据库管理员、 DevOps 工程师、AWS 管理员 | 
| 自定义 Amazon RDS 环境。 | 配置自定义[参数](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)和[选项](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html)，并启用其他[监控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MonitoringOverview.html)。有关更多信息，请参阅‭[迁移至 Amazon RDS for Oracle 的最佳实践](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/best-practices.html)。 | AWS 管理员、AWS 系统管理员、云管理员、数据库管理员、云架构师 | 

### 执行迁移试运行和应用程序测试
<a name="perform-the-migration-dry-run-and-application-testing"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 迁移数据（试运行）。 | 使用最适合您的特定环境的方法，将数据从源 Oracle EE SE2 数据库迁移到 Amazon RDS for Oracle 数据库实例。按规模、复杂性和可用停机时间等因素选择迁移策略。使用以下方法之一或组合使用二者：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle.html) | 数据库管理员 | 
| 验证目标数据库。 | 对数据库存储与代码对象执行迁移后验证。查看迁移日志，并修复所有已发现问题。有关更多信息，请参阅指南[将 Oracle 数据库迁移至 AWS Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/best-practices.html#post-import)。 | 数据库管理员 | 
| 测试应用程序。 | 应用程序和数据库管理员应酌情执行功能、性能和操作测试。有关更多信息，请参阅[迁移至 Amazon RDS for Oracle 的最佳实践](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/best-practices.html#test-migration)。最后获得利益相关者对测试结果的签字。 | 应用程序开发者，应用程序所有者，数据库管理员，迁移工程师，迁移主管 | 

### 割接
<a name="cut-over"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 刷新 Oracle 数据库 EE 数据。 | 根据应用程序可用性要求，选择数据刷新方法。有关更多信息，请参阅[将 Oracle 数据库迁移至 AWS 的策略](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/data-migration-methods.html)中的迁移方法。例如，通过使用诸如 Oracle GoldenGate 或 AWS DMS 之类的工具进行持续复制，您可以实现近乎零的停机时间。如果停机窗口允许，则可以使用离线方法（例如 Oracle Data Pump 或 Original Export-Import 实用程序）执行最终的数据割接。 | 应用程序所有者，割接主管，数据库管理员，迁移工程师，迁移主管 | 
| 将应用程序指向目标数据库实例。 | 更新应用程序和其他客户端中的连接参数，使其指向 Amazon RDS for Oracle SE2 数据库。 | 应用程序开发者，应用程序所有者，迁移工程师，迁移主管，割接主管 | 
| 执行迁移后活动。 | 执行数据迁移后的任务，例如启用多可用区、数据验证以及其他检查。 | 数据库管理员，迁移工程师 | 
| 执行割接后监控。 | 使用诸如[亚马逊 CloudWatch和亚马逊](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/monitoring-cloudwatch.html) [RDS Performance Insights](https://aws.amazon.com/rds/performance-insights/) 之类的工具来监控 Amazon RDS for Oracle SE2 数据库。 | 应用程序开发者，应用程序所有者，AWS 管理员，数据库管理员，迁移工程师 | 

## 相关资源
<a name="replatform-oracle-database-enterprise-edition-to-standard-edition-2-on-amazon-rds-for-oracle-resources"></a>

**AWS 规范指引**
+ [将 Oracle 数据库迁移至 Amazon Web Services Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)（指南）
+ [评估将 Oracle 数据库降级为 Standard Edition 2 on AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/evaluate-downgrading-oracle-edition/welcome.html)（指南）
+ [将本地 Oracle 数据库迁移至至 Amazon RDS for Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html?did=pg_card&trk=pg_card)（模式）
+ [使用 Oracle Data Pump 将本地 Oracle 数据库迁移到 Amazon RDS for Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.html?did=pg_card&trk=pg_card)（模式）

**博客文章**
+ [使用 AWS DMS 以近乎零停机时间迁移 Oracle 数据库](https://aws.amazon.com/blogs/database/migrating-oracle-databases-with-near-zero-downtime-using-aws-dms/)
+ [使用 Amazon RDS for Oracle 分析 Oracle SE 中的性能管理](https://aws.amazon.com/blogs/database/analyzing-performance-management-in-oracle-se-using-amazon-rds-for-oracle/)
+ [使用 Amazon RDS for Oracle 管理 Oracle SE 中的 SQL 计划](https://aws.amazon.com/blogs/database/managing-your-sql-plan-in-oracle-se-with-amazon-rds-for-oracle/)
+ [在 Oracle Standard Edition 中实现表分区：第 1 部分](https://aws.amazon.com/blogs/database/implementing-table-partitioning-in-oracle-standard-edition-part-1/)