

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 PostgreSQL 相容 Aurora 全域資料庫模擬 Oracle DR
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database"></a>

*HariKrishna Boorgadda，Amazon Web Services*

## 總結
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-summary"></a>

企業災難復原 (DR) 的最佳實務基本上包含設計和實作容錯硬體和軟體系統，這些系統可以承受災難 (*業務持續性） *並恢復正常操作 (*業務恢復*)，且介入最少，理想情況下不會遺失資料。建置容錯環境以滿足企業 DR 目標可能既昂貴又耗時，而且需要業務的強大承諾。

Oracle Database 提供三種不同的 DR 方法，相較於任何其他保護 Oracle 資料的方法，可提供最高層級的資料保護和可用性。
+ Oracle 零資料遺失復原設備
+ Oracle Active Data Guard
+ Oracle GoldenGate

此模式提供使用 Amazon Aurora 全域資料庫模擬 Oracle GoldenGate DR 的方法。參考架構跨三個 AWS 區域使用 Oracle GoldenGate 進行 DR。模式會逐步解說來源架構到以 Amazon Aurora PostgreSQL 相容版本為基礎的雲端原生 Aurora 全域資料庫。

Aurora 全域資料庫專為具有全域足跡的應用程式而設計。單一 Aurora 資料庫跨越多個 AWS 區域，最多可有五個次要區域。Aurora 全域資料庫提供下列功能：
+ 實體儲存層級複寫
+ 低延遲全域讀取
+ 從整個區域的中斷快速復原災難
+ 快速跨區域遷移
+ 跨區域的低複寫延遲
+ 對資料庫的效能影響Little-to-no 

如需 Aurora 全域資料庫功能和優點的詳細資訊，請參閱[使用 Amazon Aurora 全域資料庫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview)。如需意外和受管容錯移轉的詳細資訊，請參閱[在 Amazon Aurora 全域資料庫中使用容錯移轉](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover)。

## 先決條件和限制
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶 
+ 用於應用程式連線的 Java Database Connectivity (JDBC) PostgreSQL 驅動程式
+ 以 Amazon Aurora PostgreSQL 相容版本為基礎的 Aurora 全域資料庫
+ 基於 Aurora PostgreSQL 相容，遷移至 Aurora 全域資料庫的 Oracle Real Application Clusters (RAC) 資料庫

**Aurora 全域資料庫的限制**
+ 並非所有 AWS 區域都提供 Aurora 全域資料庫。如需支援區域的清單，請參閱 [Aurora PostgreSQL 的 Aurora 全域資料庫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.apg)。
+ 如需有關不支援的功能以及 Aurora 全域資料庫的其他限制的資訊，請參閱 [Amazon Aurora 全域資料庫的限制](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)。

**產品版本**
+ Amazon Aurora PostgreSQL 相容版本 10.14 版或更新版本

## Architecture
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-architecture"></a>

**來源技術堆疊**** **
+ Oracle RAC 四節點資料庫
+ Oracle GoldenGate

**來源架構******

下圖顯示使用 Oracle GoldenGate 複寫之不同 AWS 區域中具有四節點 Oracle RAC 的三個叢集。

![主要區域和兩個次要區域的 Oracle RAC。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/9fc740fc-d339-422e-beaf-1f65690c9d14.png)


**目標技術堆疊**
+ 以 Aurora PostgreSQL 相容為基礎的三個叢集 Amazon Aurora 全域資料庫，主要區域中有一個叢集，不同次要區域中有兩個叢集

**目標架構**

![主要區域和兩個次要區域的 Amazon Aurora。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/8e3deca9-03f2-437c-9341-795ac17e2b42.png)


## 工具
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-tools"></a>

**AWS 服務**
+ [Amazon Aurora PostgreSQL 相容版本](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)是完全受管的 ACID 相容關聯式資料庫引擎，可協助您設定、操作和擴展 PostgreSQL 部署。
+ [Amazon Aurora 全域資料庫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html)橫跨多個 AWS 區域，提供低延遲的全域讀取，並從可能影響整個 AWS 區域的罕見中斷中快速復原。

## 史詩
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-epics"></a>

### 使用讀取器資料庫執行個體新增區域
<a name="add-regions-with-reader-db-instances"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 連接一或多個次要 Aurora 叢集。 | 在 AWS 管理主控台上，選擇 Amazon Aurora。選取主要叢集，選擇**動作**，然後從下拉式清單中選擇**新增區域**。 | DBA | 
| 選取執行個體類別。 | 您可以變更次要叢集的執行個體類別。不過，我們建議您保持與主要叢集執行個體類別相同的狀態。 | DBA | 
| 新增第三個區域。 | 重複此史詩中的步驟，在第三個區域中新增叢集。 | DBA | 

### 容錯移轉 Aurora 全域資料庫
<a name="fail-over-the-aurora-global-database"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 從 Aurora 全域資料庫中移除主要叢集。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.html) | DBA | 
| 重新設定您的應用程式，將寫入流量轉向新提升的叢集。 | 使用新提升叢集的端點修改應用程式中的端點。 | DBA | 
| 停止對無法使用的叢集發出任何寫入操作。 | 停止應用程式和您移除之叢集的任何資料處理語言 (DML) 活動。 | DBA | 
| 建立新的 Aurora 全域資料庫。 | 現在，您可以使用新提升的叢集建立 Aurora 全域資料庫，做為主要叢集。 | DBA | 

### 啟動主要叢集
<a name="start-the-primary-cluster"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 選取要從全域資料庫啟動的主要叢集。 | 在 Amazon Aurora 主控台的全域資料庫設定中，選擇主要叢集。 | DBA | 
| 啟動叢集。 | 在**動作**下拉式清單中，選擇**開始**。此程序可能需要一些時間。重新整理畫面以查看狀態，或在操作完成後檢查叢集目前狀態**的狀態**欄。 | DBA | 

### 清除資源
<a name="clean-up-the-resources"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 刪除剩餘的次要叢集。 | 容錯移轉試行完成後，從全域資料庫中移除次要叢集。 | DBA | 
| 刪除主要叢集。 | 移除叢集。 | DBA | 

## 相關資源
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-resources"></a>
+ [使用 Amazon Aurora 全球資料庫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-detaching)
+ [使用 Amazon Aurora Global Database 的 Aurora PostgreSQL 災難復原解決方案](https://aws.amazon.com/blogs/database/aurora-postgresql-disaster-recovery-solutions-using-amazon-aurora-global-database/) （部落格文章）