

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

# 使用 Oracle GoldenGate 平面文件适配器将 Oracle 数据库迁移到 Amazon RDS for Oracle
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters"></a>

*Dhairya Jindani 和 Baji Shaik，Amazon Web Services*

## Summary
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-summary"></a>

Oracle GoldenGate 是一项适用于异构数据库和 IT 环境的实时数据捕获和复制服务。但是，该服务目前不支持适用于 Oracle 的 Amazon Relational Database Service (Amazon RDS)。有关支持的数据库的列表，请参阅 [Oracle GoldenGate 异构数据库](https://docs.oracle.com/goldengate/c1230/gg-winux/GGHDB/12.3-what-is-oracle-goldengate-heterogeneous-databases.htm#GGHDB-GUID-08EAC588-F76C-4E37-BEBA-0DC57B98CA46)（Oracle 文档）。此模式描述了如何使用 Oracle GoldenGate 和 Oracle GoldenGate 平面文件适配器从源 Oracle 数据库生成平面文件，这些文件可以在本地或亚马逊弹性计算云 (Amazon EC2) 实例上。然后，您可以将这些平面文件导入至 Amazon RDS for Oracle 数据库实例。

在这种模式中，您可以使用 Oracle GoldenGate 从源 Oracle 数据库中提取跟踪文件。数据泵将跟踪文件复制到集成服务器（即 Amazon EC2 实例）。在集成服务器上，Oracle GoldenGate 使用平面文件适配器根据跟踪文件的事务数据捕获生成一系列连续的平面文件。Oracle 将数据 GoldenGate 格式化为分隔符分隔的值或长度分隔的值。然后，您可以使用 Oracle SQL\$1Loader 将平面文件导入至目标 Amazon RDS for Oracle 数据库实例。

**目标受众**

这种模式适用于那些对 Oracle GoldenGate 基本构件有经验和了解的人。有关更多信息，请参阅 [Oracle GoldenGate 架构概述](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD115)（Oracle 文档）。

## 先决条件和限制
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-prereqs"></a>

**先决条件**
+ 活跃 AWS 账户的.
+ 甲骨文 GoldenGate 许可证。
+ Oracle GoldenGate 适配器的单独许可证。
+ 一种源 Oracle 数据库，可以在本地运行或在 Amazon EC2 实例上运行。
+ 用作集成服务器的 Amazon EC2 Linux 实例。有关更多信息，请参阅[亚马逊 EC2 Linux 实例入门](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)（亚马逊 EC2 文档）。
+ 目标 Amazon RDS for Oracle 数据库实例。有关更多信息，请参阅[创建 Oracle 数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html)（Amazon RDS 文档）。

**产品版本**
+ Oracle Database Enterprise Edition 版本 10g、11g、12c 或更高版本
+ 甲骨文 GoldenGate 版本 12.2.0.1.1 或更高版本

## 架构
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-architecture"></a>

**源技术堆栈**

Oracle 数据库（本地数据库或在亚马逊 EC2 实例上）

**目标技术堆栈**

Amazon RDS for Oracle

**源架构和目标架构**

![\[使用 Oracle GoldenGate 适配器将 Oracle 数据库迁移到 Amazon RDS for Oracle。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/f34961f7-aa9a-41cb-b1ea-522e36ef2f67/images/21ef5177-e669-4591-aced-28d2f22decf2.png)


1. Oracle 从源数据库日志中 GoldenGate 提取跟踪。

1. Data Pump 提取跟踪，并将其迁移至集成服务器。

1. Oracle GoldenGate 平面文件适配器读取轨迹、源定义和数据提取参数。

1. 您可以退出可生成控制文件和平面数据文件的提取。

1. 您可以将平面数据文件迁移到 AWS 云中的 Amazon RDS for Oracle 数据库实例。

## 工具
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-tools"></a>

**AWS 服务**
+ [亚马逊弹性计算云 (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 在中提供可扩展的计算容量 AWS 云。您可以根据需要启动任意数量的虚拟服务器，并快速纵向扩展或缩减这些服务器。
+ [Amazon Relational Database Service（Amazon RDS）](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) for Oracle 可帮助您在 AWS 云中设置、操作和扩缩 Oracle 关系数据库。

**其他服务**
+ [Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD110) 是一项服务，可帮助您将数据从一个数据库复制、筛选和转换到另一个异构数据库或另一个目标拓扑（例如平面文件）。
+ [Oracle GoldenGate 应用程序适配器](https://docs.oracle.com/goldengate/gg121211/gg-adapter/GADAD/flatfile_config.htm#GADAD424)使 Oracle GoldenGate 能够根据源数据库的跟踪文件中捕获的事务数据生成一系列顺序平面文件和控制文件。这些适配器广泛用于数据仓库应用程序以及专有或旧版应用程序中的提取、转换、加载（ETL）操作。Oracle GoldenGate 执行此捕获并近乎实时地将其应用于异构数据库、平台和操作系统。此类适配器支持不同的输出文件格式，如 CSV 或 Apache Parquet。您可加载此类已生成文件，以便将数据加载至不同的异构数据库。

## 操作说明
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-epics"></a>

### 在源数据库服务器 GoldenGate 上设置 Oracle
<a name="set-up-oracle-goldengate-on-the-source-database-server"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 下载甲骨文 GoldenGate。 | 在源数据库服务器上，下载 Oracle GoldenGate 版本 12.2.0.1.1 或更高版本。有关说明，请参阅[下载 Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)（Oracle 文档）。 | 数据库管理员 | 
| 安装甲骨文 GoldenGate。 | 有关说明，请参阅[安装 Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162)（Oracle 文档）。 | 数据库管理员 | 
| 设置 Oracle GoldenGate。 | 有关说明，请参阅为 [Oracle 准备数据库 GoldenGate（O](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) racle 文档）。 | 数据库管理员 | 

### 在集成服务器 GoldenGate 上设置 Oracle
<a name="set-up-oracle-goldengate-on-the-integration-server"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 下载甲骨文 GoldenGate。 | 在集成服务器上，下载 Oracle GoldenGate 版本 12.2.0.1.1 或更高版本。有关说明，请参阅[下载 Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)（Oracle 文档）。 | 数据库管理员 | 
| 安装甲骨文 GoldenGate。 | 创建目录，设置管理器进程，并为异构环境创建 `defgen`文件。有关说明，请参阅[安装 Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162)（Oracle 文档）。 | 数据库管理员 | 

### 更改 Oracle GoldenGate 数据捕获配置
<a name="change-the-oracle-goldengate-data-capture-configuration"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 准备 Oracle GoldenGate 适配器。 | 在集成服务器上，设置 Oracle GoldenGate 适配器软件。执行以下操作：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.html) | 数据库管理员 | 
| 配置数据泵。 | 在源服务器上，配置 Data Pump，以将跟踪文件从源服务器传输至集成服务器。创建数据泵参数文件和跟踪文件目录。有关说明，请参阅[配置平面文件适配器](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424)（Oracle 文档）。 | 数据库管理员 | 

### 生成并迁移平面文件
<a name="generate-and-migrate-the-flat-files"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 生成平面文件。 | 创建提取文件和控制文件，然后在集成服务器上启动提取过程。这将提取数据库更改，并将源数据库写入平面文件。有关说明，请参阅[使用平面文件适配器](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD432)（Oracle 文档）。 | 数据库管理员 | 
| 将平面文件加载至目标数据库。 | 将平面文件加载至目标 Amazon RDS for Oracle 数据库实例。有关更多信息，请参阅 [使用 Oracle SQL\$1Loader 导入](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.SQLLoader.html)（Amazon RDS 文档）。 | 数据库管理员 | 

## 问题排查
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-troubleshooting"></a>


| 问题 | 解决方案 | 
| --- | --- | 
| Oracle GoldenGate 平面文件适配器生成错误。 | 有关适配器错误的描述，请参阅 [定位错误消息](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD437)（Oracle 文档）。有关故障排除说明，请参阅[平面文件适配器故障排除](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-CB3D9B2C-49CC-408A-8C00-06E0C7923DD6.htm#GADAD552)（Oracle 文档）。 | 

## 相关资源
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-resources"></a>
+ [安装 Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162)（甲骨文文档）
+ [配置 Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357)（甲骨文文档）
+ [了解 Oracle GoldenGate 适配器](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-F9105B02-9836-4F98-99F8-6E9C46D42764.htm#GADAD101)（Oracle 文档）
+ [配置平面文件适配器](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424)（Oracle 文档）