

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

# 執行 Oracle Data Guard 容錯移轉
<a name="oracle-replication-switchover"></a>

*容錯移轉*是主要資料庫與待命資料庫之間的角色反轉。在容錯移轉期間，原始主要資料庫會轉換為待命角色，而原始待命資料庫則會轉換為主要角色。

在「Oracle Data Guard」環境中，主要資料庫支援一或多個待命資料庫。您可以從主要資料庫執行以容錯移轉為基礎的受管理角色轉換至待命資料庫。*容錯移轉*是主要資料庫與待命資料庫之間的角色反轉。在容錯移轉期間，原始主要資料庫會轉換為待命角色，而原始待命資料庫則會轉換為主要角色。

**Topics**
+ [Oracle Data Guard 容錯移轉概觀](#oracle-replication-switchover.overview)
+ [Oracle Data Guard 轉換需求](oracle-switchover.preparing.md)
+ [啟動 Oracle Data Guard 容錯移轉](oracle-switchover.initiating.md)
+ [監控 Oracle Data Guard 容錯移轉](oracle-switchover.monitoring.md)

## Oracle Data Guard 容錯移轉概觀
<a name="oracle-replication-switchover.overview"></a>

Amazon RDS 支援 Oracle 資料庫複本的全受管、以容錯移轉為基礎的角色轉換。您只能啟動容錯移轉為已裝載或以唯讀方式開啟的待命資料庫。

複本可以位於單一區域的個別 AWS 區域 或不同可用區域 (AZs) 中。 AWS 區域 支援所有 。

![\[轉換至待命執行個體，使其成為主要資料庫執行個體\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/read-replica-switchover.png)


轉換與僅供讀取複本提升不同。在轉換中，來源和複本資料庫執行個體會變更角色。在提升中，僅供讀取複本會成為來源資料庫執行個體，但來源資料庫執行個體不會成為複本。如需詳細資訊，請參閱[提升僅供讀取複本為獨立的資料庫執行個體](USER_ReadRepl.Promote.md)。

**Topics**
+ [Oracle Data Guard 容錯移轉的優點](#oracle-replication-switchover.overview.benefits)
+ [支援的 Oracle Database 版本](#oracle-replication-switchover.overview.engine-support)
+ [Oracle Data Guard 容錯移轉的成本](#oracle-replication-switchover.overview.cost)
+ [Oracle Data Guard 容錯移轉運作方式](#oracle-replication-switchover.overview.how-it-works)

### Oracle Data Guard 容錯移轉的優點
<a name="oracle-replication-switchover.overview.benefits"></a>

如同 RDS for Oracle 僅供讀取複本一樣，受管容錯移轉依賴 Oracle Data Guard。該操作被設計為零資料丟失。Amazon RDS 會將以下的容錯移轉方面自動化：
+ 反轉主要資料庫和指定待命資料庫的角色，讓新待命資料庫處於與原始待命資料庫相同的狀態 (已裝載或唯讀)
+ 確保資料一致性
+ 轉換後維護您的複寫組態
+ 支援重複回轉，允許新的待命資料庫恢復到原始的主要角色

### 支援的 Oracle Database 版本
<a name="oracle-replication-switchover.overview.engine-support"></a>

Oracle Database 19c 和更高版本支援 Oracle Data Guard 轉換。

### Oracle Data Guard 容錯移轉的成本
<a name="oracle-replication-switchover.overview.cost"></a>

Oracle Data Guard 容錯移轉功能不會產生額外費用。Oracle Database Enterprise Edition 包含支援處於掛載模式的待命資料庫。若要以唯讀模式開啟待命資料庫，您需要 Oracle Active Data Guard 選項。

### Oracle Data Guard 容錯移轉運作方式
<a name="oracle-replication-switchover.overview.how-it-works"></a>

Oracle Data Guard 容錯移轉是完全受管理的操作。您可以發出 CLI 命令 `switchover-read-replica` 來啟動待命資料庫的容錯移轉。然後，Amazon RDS 會修改複寫組態中的主要角色和待命角色。

所以此*原始待機*和*原始主要*是容錯移轉之前存在的角色。所以此*新待機*和*新主要*是容錯移轉之後存在的角色。*待命者複本*是一個複本資料庫，在 Oracle Data Guide 環境中做為待命資料庫，但不會切換角色。

**Topics**
+ [Oracle Data Guard 容錯移轉的階段](#oracle-replication-switchover.overview.how-it-works.during-switchover)
+ [Oracle Data Guard 容錯移轉後](#oracle-replication-switchover.overview.how-it-works.after-switchover)

#### Oracle Data Guard 容錯移轉的階段
<a name="oracle-replication-switchover.overview.how-it-works.during-switchover"></a>

若要執行容錯移轉，Amazon RDS 必須採取下列步驟：

1. 封鎖原始主要資料庫上的新交易。在容錯移轉期間，Amazon RDS 會中斷 Oracle Data Guide 組態中所有資料庫的複寫。在容錯移轉期間，原始主要資料庫無法處理寫入請求。

1. 將未套用的交易傳輸至原始待命資料庫，然後套用這些交易。

1. 以唯讀或裝載模式重新啟動新的待命資料庫。此模式取決於容錯移轉前原始待命資料庫的開啟狀態。

1. 以讀寫模式開啟新的主要資料庫。

#### Oracle Data Guard 容錯移轉後
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS 會切換主要和待命資料庫的角色。您有責任重新連接應用程式並執行任何其他所需的組態。

**Topics**
+ [成功條件](#oracle-replication-switchover.overview.how-it-works.after-switchover.success)
+ [連線到新的主要資料庫](#oracle-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [新主要資料庫的組態](#oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration)

##### 成功條件
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success"></a>

當原始待命資料庫執行下列操作時，Oracle Data Guide 容錯移轉成功：
+ 轉換為新主要資料庫的角色
+ 完成其重新組態

為了限制停機時間，您的新主要資料庫會盡快變為作用中狀態。由於 Amazon RDS 會以非同步方式設定待命者複本，因此這些複本可能會在原始主要資料庫之後變為作用中狀態。

##### 連線到新的主要資料庫
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

容錯移轉後，Amazon RDS 不會將您目前的資料庫連線傳播到新的主要資料庫。Oracle Data Guard 容錯移轉完成後，請將您的應用程式重新連線至新的主要資料庫。

##### 新主要資料庫的組態
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration"></a>

若要執行容錯移轉為新的主要資料庫，Amazon RDS 會將原始待命資料庫的模式變更為開啟。角色的變化是對資料庫的唯一更改。Amazon RDS 不會設定多可用區域複寫等功能。

如果您使用不同的選項執行跨區域複本的容錯移轉，新的主要資料庫會保留自己的選項。Amazon RDS 不會遷移原始主要資料庫上的選項。如果原始主要資料庫具有 SSL、NNE、OEM 和 OEM\$1AGENT 等選項，則 Amazon RDS 不會將它們傳播到新的主要資料庫。