

# Oracle GoldenGate 架构
<a name="Appendix.OracleGoldenGate.Overview"></a>

与 Amazon RDS 结合使用的 Oracle GoldenGate 架构包含以下解耦模块：

源数据库  
源数据库可以是本地 Oracle 数据库、Amazon EC2 实例上的 Oracle 数据库或 Amazon RDS 数据库实例上的 Oracle 数据库。

Oracle GoldenGate 枢纽  
Oracle GoldenGate 枢纽将事务信息从源数据库移动到目标数据库。枢纽可以是以下任意一种：  
+ 安装了 Oracle Database 和 Oracle GoldenGate 的 Amazon EC2 实例
+ 本地 Oracle 安装
可以有多个 Amazon EC2 枢纽。如果要将 Oracle GoldenGate 用于跨区域复制，建议您使用两个枢纽。

目标数据库  
目标数据库可位于 Amazon RDS 数据库实例上、位于 Amazon EC2 实例上或位于一个本地位置。

以下各节介绍 Amazon RDS 上 Oracle GoldenGate 的常见场景。

**Topics**
+ [本地源数据库和 Oracle GoldenGate 枢纽](#Appendix.OracleGoldenGate.on-prem-source-gg-hub)
+ [本地源数据库和 Amazon EC2 枢纽](#Appendix.OracleGoldenGate.on-prem-source-ec2-hub)
+ [Amazon RDS 源数据库和 Amazon EC2 枢纽](#Appendix.OracleGoldenGate.rds-source-ec2-hub)
+ [Amazon EC2 源数据库和 Amazon EC2 枢纽](#Appendix.OracleGoldenGate.ec2-source-ec2-hub)
+ [不同 AWS 区域中的 Amazon EC2 枢纽](#Appendix.OracleGoldenGate.cross-region-hubs)

## 本地源数据库和 Oracle GoldenGate 枢纽
<a name="Appendix.OracleGoldenGate.on-prem-source-gg-hub"></a>

在此场景中，本地 Oracle 源数据库和本地 GoldenGate 枢纽向目标 Amazon RDS 数据库实例提供数据。

![\[使用 Amazon RDS 的 Oracle GoldenGate 配置 0\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/oracle-gg0.png)


## 本地源数据库和 Amazon EC2 枢纽
<a name="Appendix.OracleGoldenGate.on-prem-source-ec2-hub"></a>

在此场景中，本地 Oracle 数据库充当源数据库。其会连接到 Amazon EC2 实例枢纽。此枢纽向目标 RDS for Oracle 数据库实例提供数据。

![\[使用 Amazon RDS 的 Oracle GoldenGate 配置 1\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/oracle-gg1.png)


## Amazon RDS 源数据库和 Amazon EC2 枢纽
<a name="Appendix.OracleGoldenGate.rds-source-ec2-hub"></a>

在此场景中，RDS for Oracle 数据库实例充当源数据库。其会连接到 Amazon EC2 实例枢纽。此枢纽向目标 RDS for Oracle 数据库实例提供数据。

![\[使用 Amazon RDS 的 Oracle GoldenGate 配置 2\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/oracle-gg2.png)


## Amazon EC2 源数据库和 Amazon EC2 枢纽
<a name="Appendix.OracleGoldenGate.ec2-source-ec2-hub"></a>

在此场景中，Amazon EC2 实例上的 Oracle 数据库充当源数据库。其会连接到 Amazon EC2 实例枢纽。此枢纽向目标 RDS for Oracle 数据库实例提供数据。

![\[使用 Amazon RDS 的 Oracle GoldenGate 配置 3\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/oracle-gg3.png)


## 不同 AWS 区域中的 Amazon EC2 枢纽
<a name="Appendix.OracleGoldenGate.cross-region-hubs"></a>

在此场景中，Amazon RDS 数据库实例上的 Oracle 数据库连接到相同 AWS 区域中的 Amazon EC2 实例枢纽。该枢纽连接到其他 AWS 区域中的 Amazon EC2 实例枢纽。第二个枢纽向与第二个 Amazon EC2 实例枢纽位于相同 AWS 区域中的目标 RDS for Oracle 数据库实例提供数据。

![\[使用 Amazon RDS 的 Oracle GoldenGate 配置 4\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/oracle-gg4.png)


**注意**  
影响在本地环境中运行 Oracle GoldenGate 的任何问题也会影响在 AWS 上运行 Oracle GoldenGate。强烈建议对 Oracle GoldenGate 枢纽进行监控，确保在发生故障转移的情况下恢复 `EXTRACT` 和 `REPLICAT`。由于 Oracle GoldenGate 枢纽在 Amazon EC2 实例上运行，因此 Amazon RDS 不会管理 Oracle GoldenGate 枢纽，也无法确保其是否在运行。