

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

# 使用和 A SharePlex WS DMS 从 Oracle 8i 或 9i 迁移到 Amazon RDS for Oracle
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms"></a>

*Ramu Jagini，Amazon Web Services*

## Summary
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-summary"></a>

此模式描述了如何使用 Oracle 数据泵将 Oracle 数据库从本地数据中心迁移到适用于 Oracle 数据库实例的 Amazon Relational Database Service（Amazon RDS）。您可以使用这种模式通过使用Quest进行同步复制，在减少停机时间 SharePlex 的情况下完成迁移。

您必须使用中间 Oracle 数据库实例迁移，因为 AWS Database Migration Service (AWS DMS) 不支持 Oracle 8i 或 9i 作为源环境。您可以使用 [SharePlex 7.6.3](https://www.quest.com/community/shareplex/f/forum/20700/where-can-download-7-6-3-or-support-9i-shareplex) 将以前的 Oracle 数据库版本复制到更高版本的 Oracle 数据库版本。中间 Oracle 数据库实例与 SharePlex 7.6.3 的目标兼容，并支持作为 AWS DMS 或更高版本的来源。 SharePlex此支持允许将数据向前复制到 Amazon RDS for Oracle 目标环境。

请考虑一下，一些已弃用的数据类型和功能可能会影响从 Oracle 8i 或 9i 迁移至最新版本的 Oracle 数据库。为了减轻这种影响，这种模式使用 Oracle 11.2.0.4 作为中间数据库版本，在迁移至 Amazon RDS for Oracle 目标环境之前帮助优化架构代码。

## 先决条件和限制
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-prereqs"></a>

**先决条件**
+ 一个有效的 Amazon Web Services account
+ 本地环境的源 Oracle 8i 或 9i 数据库
+ 用于在亚马逊弹性计算云 (亚马逊CR2) 上暂存的 [Oracle Database 12c 版本 2](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/index.html) (12) EC2
+ 任务 SharePlex 7.6.3（商业级）

**限制**
+ [RDS for Oracle 的限制](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.limitations.html)

**产品版本**
+ 作为源数据库的 Oracle 8i 或 9i
+ CR2 用于暂存数据库的 Oracle 12（必须与 Amazon RDS for Oracle 版本匹配）
+ 目标数据库的 Oracle 12 CR2 或更高版本（适用于 Oracle 的 Amazon RDS）

## 架构
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-architecture"></a>

**源技术堆栈**
+ Oracle 8i 或 9i 数据库
+ SharePlex

**目标技术堆栈**
+ Amazon RDS for Oracle

**迁移架构**

下图显示了如何将 Oracle 8i 或 9i 数据库从本地环境迁移至 Amazon Web Services Cloud 中的 Amazon RDS for Oracle 数据库实例。

![\[将本地 Oracle 数据库迁移到 AWS 上的 Amazon RDS for Oracle 的工作流。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/6e07d586-fd74-4f3d-8e81-79dd55c445c3/images/36e1a5ff-908b-4cb7-96f7-997eb105f1d6.png)


下图显示了如下工作流：

1. 为 Oracle 源数据库启用归档日志模式、强制日志记录和补充日志记录。

1. [使用恢复管理器 (RMAN) point-in-time 恢复和 FLASHBACK\$1SCN 从 Oracle 源数据库恢复 Oracle 暂存数据库。](https://docs.oracle.com/database/121/SUTIL/GUID-D408B112-1A81-4F68-BEFF-7403A9588DDB.htm#SUTIL849)

1. 使用`FLASHBACK_SCN`（在 RMAN 中使用）配置 SharePlex 为从 Oracle 源数据库读取重做日志。

1. 开始 SharePlex 复制，将数据从 Oracle 源数据库同步到 Oracle 临时数据库。

1. 使用`FLASHBACK_SCN` EXPDP 和 IMPDP 恢复 Amazon RDS for Oracle 目标数据库。

1. 使用 `FLASHBACK_SCN`（在 EXPDP 中使用）将 AWS DMS 及其源任务配置为 Oracle 暂存数据库，将 Amazon RDS for Oracle 配置为目标数据库。

1. 启动 AWS DMS 任务以将数据从 Oracle 暂存数据库同步到 Oracle 目标数据库。

## 工具
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-tools"></a>
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可帮助您在 Amazon Web Services Cloud 中设置、操作和扩展关系数据库。
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可帮助您将数据存储迁移到 Amazon Web Services Cloud，或者在云和本地设置的组合之间迁移。
+ [Quest SharePlex](https://support.quest.com/shareplex/11.0/technical-documents) 是一款 Oracle-to-Oracle数据复制工具，用于在最短的停机时间内移动数据，并且不会丢失任何数据。
+ [恢复管理器 (RMAN)](https://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmquick.htm) 是 Oracle 数据库客户端，可对数据库执行备份和恢复任务。它极大地简化了数据库文件的备份、还原和恢复流程。
+ [Data Pump Export](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL823) 可帮助您将数据和元数据上传到一组称为转储文件集的操作系统文件中。转储文件集只能由 [Data Pump Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) 实用程序或 [DBMS\$1DATAPUMP](https://docs.oracle.com/database/121/ARPLS/d_datpmp.htm#ARPLS356) 包导入。

## 操作说明
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-epics"></a>

### 在亚马逊上 SharePlex 设置 Oracle 暂存数据库 EC2
<a name="set-up-shareplex-and-the-oracle-staging-database-on-amazon-ec2"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建实 EC2 例。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html) | Oracle 管理 | 
| 准备暂存数据库。 | 从 Oracle 8i 或 9i 数据库源环境中获取 RMAN 备份，为 Oracle 暂存数据库做好准备，以便在 Oracle 12 CR2 上作为升级进行恢复。有关更多信息，请参阅 Oracle 文档中的 [ Oracle 9i Recovery Manager 用户指南](https://docs.oracle.com/cd/B10500_01/server.920/a96566/toc.htm)和[数据库备份和恢复用户指南](https://docs.oracle.com/database/121/BRADV/rcmcomre.htm#BRADV8005)。 | Oracle 管理 | 
| 配置 SharePlex。 | 将 SharePlex 源配置为本地 Oracle 8i 或 9i 数据库，并将目标配置为托管在亚马逊上的 Oracle 12 CR2 暂存数据库。 EC2 | SharePlex，甲骨文管理 | 

### 为 Amazon RDS for Oracle 设置您的环境。
<a name="set-up-amazon-rds-for-oracle-as-your-target-environment"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建 Oracle 数据库实例 | 创建 Amazon RDS for Oracle 数据库，然后将 Oracle 12 CR2 连接到该数据库。有关更多信息，请参阅 Amazon RDS 文档中的[创建 PostgreSQL 数据库实例并连接到 PostgreSQL 数据库实例上的数据库](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html)。 | 数据库管理员 | 
| 从暂存数据库恢复 Amazon RDS for Oracle。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html)有关更多信息，请参阅 Oracle Database 文档中的 [DBMS\$1MLE](https://docs.oracle.com/en/database/oracle/oracle-database/21/arpls/DBMS_DATAPUMP.html#GUID-AEA7ED80-DB4A-4A70-B199-592287206348)。 | 数据库管理员 | 

### 设置 AWS DMS
<a name="set-up-aws-dms"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为数据库创建端点。 | 为 Oracle 暂存数据库创建源端点，为 Amazon RDS for Oracle 数据库创建目标端点。有关更多信息，请参阅 AWS Knowledge Center 中的[如何使用 AWS DMS 创建源或目标端点？](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)。 | 数据库管理员 | 
| 创建复制实例。 | 使用 AWS DMS 启动 Oracle 暂存数据库到 Amazon RDS for Oracle 数据库的复制实例。有关更多信息，请参阅 AWS Knowledge Center 中的[如何创建 AWS DMS 复制实例？](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) | 数据库管理员 | 
| 创建并启动复制任务。 | 使用来自 EXPDP 的 `FLASHBACK_SCN` 变更数据捕获 (CDC) 创建 AWS DMS 复制任务（因为已通过 EXPDP 完成了满载）。有关更多信息，请参阅 AWS DMS 文档中的[创建任务](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html)。 | 数据库管理员 | 

### 割接 Amazon RDS for Oracle
<a name="cut-over-to-amazon-rds-for-oracle"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 停止应用程序工作负载。 | 在计划的割接窗口期间停止应用程序服务器及其应用程序。 | 应用程序开发人员、数据库管理员 | 
| 验证本地 Oracle 暂存数据库与实例的 EC2 同步。 |  EC2 通过在本地源数据库上执行几次日志切换，确认从 SharePlex 复制实例到 Amazon 上的 Oracle 暂存数据库的复制任务的所有消息都已发布。有关更多信息，请参见 Oracle 文档中的 [6.4.2 切换日志文件](https://docs.oracle.com/database/121/ADMQS/GUID-E30B4C65-2AC7-4A44-A58C-D3C121EB152F.htm#ADMQS12075)。 | 数据库管理员 | 
| 验证 Oracle 暂存数据库与 Amazon RDS for Oracle 数据库的同步。 | 确认您的所有 AWS DMS 任务是否低延迟且没有错误，然后检查任务的验证状态。 | 数据库管理员 | 
| 停止复制 SharePlex 和 Amazon RDS。 | 如果 SharePlex 和 AWS DMS 复制均未显示任何错误，则停止这两个复制。 | 数据库管理员 | 
| 将应用程序重新映射至 Amazon RDS。 | 与应用程序服务器及其应用程序共享 Amazon RDS for Oracle 端点的详细信息，然后启动应用程序以恢复业务运营。 | 应用程序开发人员、数据库管理员 | 

### 测试 AWS 目标环境
<a name="test-the-aws-target-environment"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在 AWS 上测试 Oracle 暂存数据库环境。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html) | SharePlex，甲骨文管理 | 
| 测试 Amazon RDS 环境。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html)有关更多信息，请参阅 Amazon RDS 文档中的[Amazon RDS for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)。 | Oracle 管理 | 

## 相关资源
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-resources"></a>
+ [放心迁移](https://aws.amazon.com/cloud-migration/)
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [调试您的 AWS DMS Migrations：出现问题时该怎么做（第 1 部分）](https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-1/)
+ [调试您的 AWS DMS Migrations：出现问题时该怎么做 (第 2 部分)](https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-2/)
+ [调试您的 AWS DMS Migrations：出现问题时该怎么做 （第 3 部分）](https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-3/)
+ [SharePlex 用于数据库复制](https://aws.amazon.com/marketplace/pp/B07943W4MJ)
+ [SharePlex：适用于任何环境的数据库复制](https://www.youtube.com/watch?v=ygS_ouUaNus)