執行 Oracle Data Guard 容錯移轉 - Amazon Relational Database Service

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

執行 Oracle Data Guard 容錯移轉

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

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

Oracle Data Guard 容錯移轉概觀

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

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

容錯移轉至待命執行個體,使其成為主要資料庫執行個體

轉換不同於僅供讀取複本升級。在轉換過程中,來源和複本資料庫執行個體會變更角色。在促銷中,僅供讀取複本會變成來源資料庫執行個體,但來源資料庫執行個體不會成為複本。如需詳細資訊,請參閱 提升僅供讀取複本為獨立的資料庫執行個體

Oracle Data Guard 容錯移轉的優點

如同 RDS for Oracle 僅供讀取複本一樣,受管容錯移轉依賴 Oracle Data Guard。該操作被設計為零資料丟失。Amazon RDS 會將以下的容錯移轉方面自動化:

  • 反轉主要資料庫和指定待命資料庫的角色,讓新待命資料庫處於與原始待命資料庫相同的狀態 (已裝載或唯讀)

  • 確保資料一致性

  • 轉換後維護您的複寫組態

  • 支援重複回轉,允許新的待命資料庫恢復到原始的主要角色

支援的 Oracle Database 版本

Oracle 資料庫 19c 支援「Oracle 資料保全」轉換。

Oracle Data Guard 容錯移轉的成本

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

Oracle Data Guard 容錯移轉運作方式

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

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

Oracle Data Guard 容錯移轉的階段

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

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

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

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

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

Oracle Data Guard 容錯移轉後

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

成功條件

當原始待命資料庫執行下列操作時,Oracle Data Guide 容錯移轉成功:

  • 轉換為新主要資料庫的角色

  • 完成其重新組態

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

連線到新的主要資料庫

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

新主要資料庫的組態

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

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

準備進行 Oracle Data Guard 容錯移轉

啟動 Oracle Data Guard 容錯移轉前,請確定您的複本環境符合下列要求:

  • 原始待命資料庫已裝載或以唯讀方式開啟。

  • 原始待命資料庫上已啟用自動備份。

  • 原始主要資料庫和原始待命資料庫處於可用狀態。

  • 原始主要資料庫和原始待命資料庫沒有擱置的維護動作。

  • 原始待命資料庫處於複寫狀態。

  • 當主要資料庫或待命資料庫目前處於轉換生命週期時,您不會嘗試啟動容錯移轉。如果複本資料庫在容錯移轉後重新設定,Amazon RDS 會阻止您啟動另一次容錯移轉。

    注意

    待命者複本是 Oracle Data Guard 組態中不是容錯移轉目標的複本。待命者複本在容錯移轉期間可處於任何狀態。

  • 原始待命資料庫的組態與原始主要資料庫盡可能接近。假設原始主要和原始待命資料庫有不同選項的案例。容錯移轉完成後,Amazon RDS 不會自動重新設定新的主要資料庫,使其具有與原始主要資料庫相同的選項。

  • 您可以在起始切換之前,先設定所需的多可用區部署。Amazon RDS 不會在切換過程中管理多可用區域。多可用區部署會保持原狀。

    假設 db_maz 是多可用區部署中的主要資料庫,而 db_saz 是單一可用區域複本。您起始從 db_maz 到 db_saz 的切換。之後,db_maz 是多可用區域複本資料庫,而 db_saz 是單一可用區域主要資料庫。新的主要資料庫現在未受多可用區部署支援。

  • 為了準備跨區域切換,主要資料庫不會與複寫組態之外的資料庫執行個體使用相同的選項群組。若要讓跨區域切換成功,目前的主要資料庫及其僅供讀取複本,必須是唯一可使用目前主要資料庫之選項群組的資料庫執行個體。否則,Amazon RDS 會阻止切換。

啟動 Oracle Data Guard 容錯移轉

您可以將 RDS for Oracle 僅供讀取複本容錯移轉為主要角色,將原主要資料庫執行個體容錯移轉為複本角色。

若要將 Oracle 僅供讀取複本容錯移轉為主要資料庫角色
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在 Amazon RDS 主控台,選擇 Databases (資料庫)

    Databases (資料庫) 窗格隨即出現。每個僅供讀取複本會在 Role (角色) 欄中顯示 Replica (複本)

  3. 選擇您要容錯移轉為主要角色的僅供讀取複本。

  4. 對於 Actions (動作),選擇 Switch over replica (容錯移轉複本)。

  5. 選擇 I acknowledge (我確認)。然後選擇 Switch over replica (容錯移轉複本)。

  6. Databases (資料庫) 頁面上監控容錯移轉進度。

    監控 Oracle Data Guard 容錯移轉進度

    容錯移轉完成時,容錯移轉目標的角色會從 Replica (複本) 變成 Source (來源)。

    來源資料庫和複本資料庫會變更角色。

若要將 Oracle 複本切換為主要資料庫角色,請使用 AWS CLI switchover-read-replica命令。下列範例會讓名為 replica-to-be-made-primary 的 Oracle 複本成為新的主要資料庫。

範例

對於LinuxmacOS、或Unix:

aws rds switchover-read-replica \ --db-instance-identifier replica-to-be-made-primary

在 Windows 中:

aws rds switchover-read-replica ^ --db-instance-identifier replica-to-be-made-primary

若要將 Oracle 複本容錯移轉為主要資料庫角色,請使用必要參數 DBInstanceIdentifier 呼叫 Amazon RDS API SwitchoverReadReplica 操作。此參數指定您要擔任主要資料庫角色之 Oracle 複本的名稱。

監控 Oracle Data Guard 容錯移轉

若要檢查執行個體的狀態,請使用 AWS CLI 指令describe-db-instances。下列命令會檢查資料庫執行個體 orcl2 的狀態。此資料庫在容錯移轉前是待命資料庫,但在容錯移轉後是新的主要資料庫。

aws rds describe-db-instances \ --db-instance-identifier orcl2

若要確認容錯移轉成功完成,請查詢 V$DATABASE.OPEN_MODE。檢查新主要資料庫的值是否為 READ WRITE

SELECT OPEN_MODE FROM V$DATABASE;

若要尋找切換相關事件,請使用 CLI 命令。 AWS describe-events下列範例會尋找 orcl2 執行個體。

aws rds describe-events \ --source-identifier orcl2 \ --source-type db-instance