在使用 Amazon RDS for Oracle 執行個體的僅供讀取複本時,如何監控複寫延遲並進行疑難排解?

上次更新日期:2021 年 11 月 18 日

當我將僅供讀取複本用於 Amazon Relational Database Service (Amazon RDS) for Oracle 資料庫執行個體時,我想監控複寫延遲並進行疑難排解。

簡短描述

您可以使用 Oracle Active Data Guard License 授權為 RDS for Oracle 執行個體設定僅供讀取複本。當您為執行個體建立僅供讀取複本時,主要執行個體和僅供讀取複本執行個體會在 Data Guard 最大效能模式下執行。如需詳細資訊,請參閲 Oracle Data Guard 保護模式的 Oracle 文件。

您可使用僅供讀取複本從主要執行個體卸載讀取操作。在進行災難復原時,您還可以將僅供讀取複本提升為獨立的資料庫執行個體。如需詳細資訊,請參閲將僅供讀取複本提升為獨立資料庫執行個體

在為您的執行個體設定僅供讀取複本之前,請務必檢查版本和授權的相關限制。此外,也請查看 Oracle 複本的其他要求和限制

解決方案

使用 RDS for Oracle 執行個體的僅供讀取複本時,請記住以下事項:

  • Amazon RDS 是一項受管服務。因此,複寫程序由內部 RDS_DATAGUARD 使用者管理。此使用者在建立僅供讀取複本執行個體時設定。
  • 您無法從管理員使用者帳户停止受管復原程序。
  • 您無法設定或修改 Oracle Data Guard Broker for RDS 僅供讀取複本。
  • 您不能延遲將資料從主要執行個體複寫到僅供讀取複本執行個體。
  • 對選項群組所做的修改會傳播到僅供讀取複本執行個體。如果僅供讀取複本設定在同一個區域中,則它們將與同一個選項群組相關聯。如需詳細資訊,請參閲 Oracle 複本的選項要求和限制

監控複寫延遲

如果複本跟不上主要執行個體,您可能會遇到複寫延遲。若要監控 Amazon CloudWatch 中的複寫延遲,請檢視 Amazon RDS 指標 ReplicaLag。此指標顯示複寫延遲 (以毫秒為單位)。如需詳細資訊,請參閲監控僅供讀取複本檢視 Amazon RDS 指標和維度

若要在 Active Data Guard 中監控複寫延遲並進行疑難排解,請執行以下操作:

執行以下查詢以檢查 Data Guard 延遲指標:

sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;

執行以下查詢,以檢查主要執行個體和僅供讀取複本執行個體之間是否存在封存日誌差距:

sql >  SELECT archived.thread# THREAD,max(archived.sequence#) PRIMARY,max(applied.sequence#) STANDBY,(max(archived.sequence#) - max(applied.sequence#)) GAP FROM v$archived_log archived,v$archived_log applied WHERE archived.thread#=applied.thread# AND applied.applied='YES' GROUP BY archived.thread#;

注意:RDS for Oracle 不會提醒您有複寫延遲。若想在僅供讀取複本跟不上主要執行個體時傳送通知,請為 RDS 指標 ReplicaLag 建立 CloudWatch 警示

對複寫延遲進行疑難排解

  • 如果主要執行個體不可用,請使用 Amazon RDS 主控台檢查執行個體的目前狀態。此外,也請檢查執行個體是否可以從任何 SQL 用户端存取。如果主要執行個體不可用 (例如:執行個體處於不相容參數狀態),則僅供讀取複本無法跟上主要執行個體並將發生落後。檢查 Amazon RDS 事件,找出主要執行個體不可用的原因。然後,修正執行個體以確保它是可存取的。
  • 如果主要執行個體處於高 CPU 或記憶體過載的狀態,則可能會導致高傳輸延遲。監控執行個體的 CloudWatch 指標。此外,使用增強型監控來識別特定程序是否導致異常的記憶體或 CPU 使用高峰。如需詳細資訊,請參閲在 RDS 主控台中檢視作業系統指標。當 CPU/記憶體負載減少時,複本可能跟得上主要執行個體。如果執行個體上的過載符合預期,您可以根據需要選擇擴展執行個體類別、IOPS 或輸送量。
  • 監控主要執行個體和僅供讀取複本的 alert.log 檔案,以識別可能影響傳輸或套用程序的警示或 ORA 錯誤。如需存取 RDS 執行個體提醒日誌的詳細資訊,請參閱 Oracle 資料庫日誌檔案。解決確定的錯誤以減少延遲。
  • 當您調整主要執行個體中重做日誌的大小或變更重做日誌數目時,不會將此變更複寫至備用執行個體。若要複寫這些變更,您必須重新建立備用執行個體。最佳實務是在設定僅供讀取複本之前更新重做日誌參數。如需詳細資訊,請參閲變更日誌組態
  • 與主要執行個體相比,設定僅供讀取複本執行個體的運算或 IOPS 容量較少,可能會減慢在僅供讀取複本中套用變更的速度,因而導致複寫延遲。使用 CloudWatch 監控 RDS 指標,以檢查這兩個執行個體是否發生節流。如果主要執行個體沒有任何節流,而僅供讀取複本遇到節流,請識別發生節流的資源。然後,根據需要擴充儲存或運算設定。