Direkt zum Inhalt

Wie überwache und behebe ich Replikationsverzögerungen bei einem Lesereplikat für eine Amazon RDS für Oracle-DB-Instance?

Lesedauer: 5 Minute
0

Ich möchte Replikationsverzögerungen überwachen, wenn ich das Lesereplikat meiner Amazon Relational Database Service (Amazon RDS) für Oracle-Datenbank (DB)-Instance verwende.

Kurzbeschreibung

Verwende die Oracle Active Data Guard-Lizenz, um das Lesereplikat für deine Amazon RDS für Oracle-DB-Instance zu konfigurieren. Wenn das Lesereplikat schreibgeschützt ist, ist eine Oracle Active Data Guard-Lizenz erforderlich. Wenn du ein Lesereplikat für deine Instance erstellst, arbeiten die primäre Instance und die Lesereplikat-Instance im Data Guard-Modus mit maximaler Leistung. Weitere Informationen findest du unter Oracle Data Guard-Schutzmodi auf der Oracle-Website. Verwende anschließend das Lesereplikat, um Lesevorgänge von der primären Instance auszulagern.

Du kannst das Lesereplikat im Fall einer Notfallwiederherstellung auch zu einer eigenständigen Datenbank (DB)-Instance hochstufen. Weitere Informationen findest du unter Heraufstufen eines Lesereplikats zu einer eigenständigen DB-Instance.

Bevor du ein Lesereplikat für deine Instance konfigurierst, prüfe die Einschränkungen hinsichtlich Versionen und Lizenzen. Weitere Informationen findest du unter Verschiedene Überlegungen zu RDS für Oracle-Replikate.

Lösung

Beachte bei der Verwendung eines Lesereplikats für deine Amazon RDS für Oracle-DB-Instance Folgendes:

  • Amazon RDS ist ein verwalteter Service. Der Replikationsprozess wird von einem internen Benutzer namens RDS_DATAGUARD verwaltet. Dieser Benutzer wird beim Erstellen einer Lesereplikat-Instance konfiguriert.
  • Du kannst den verwalteten Wiederherstellungsprozess nicht über das AWS-Administratorkonto stoppen.
  • Du kannst den Oracle Data Guard Broker für Amazon RDS-Lesereplikate weder konfigurieren noch ändern.
  • Du kannst die Replikation von Daten von einer primären Instance zu einer Lesereplikat-Instance nicht verzögern.
  • Änderungen an der Optionsgruppe werden auf die Lesereplikat-Instance übernommen. Wenn die Lesereplikate in derselben AWS-Region konfiguriert sind, sind die Instances derselben Optionsgruppe zugeordnet. Weitere Informationen findest du unter Optionsgruppenbeschränkungen für RDS für Oracle-Replikate.

Replikationsverzögerung überwachen

Wenn das Lesereplikat nicht mit der primären Instance Schritt halten kann, kann es zu einer Replikationsverzögerung kommen. Um die Replikationsverzögerung in Amazon CloudWatch zu überwachen, rufe für die Lesereplikat-Instance die Amazon RDS-Metrik ReplicaLag auf. Diese Metrik zeigt die Replikationsverzögerung in Millisekunden an. Weitere Informationen findest du unter Lesereplikation überwachen und Amazon RDS-Metriken mit Amazon CloudWatch überwachen.

Gehe wie folgt vor, um die Replikationsverzögerung in Active Data Guard zu überwachen und zu beheben:

  1. Führe den folgenden Befehl aus, um die Active Data Guard-Verzögerungsmetriken zu überprüfen.

    sql > SELECT name,value,datum_time,time_computed FROM v$dataguard_stats;
  2. Führe den folgenden Befehl aus, um zu prüfen, ob zwischen der primären Instance und der Lesereplikat-Instance eine Archivprotokolllücke besteht.

    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#;

    Hinweis: Amazon RDS benachrichtigt dich nicht, wenn eine Replikationsverzögerung auftritt. Erstelle einen CloudWatch-Alarm für die Amazon RDS-Metrik ReplicaLag, damit Benachrichtigungen gesendet werden, wenn das Lesereplikat nicht mit der primären Instance Schritt hält.

Replikationsverzögerung beheben

  • Wenn die primäre Instance nicht verfügbar ist, verwende die Aurora- und RDS-Konsole, um den aktuellen Status der Instance zu überprüfen. Prüfe außerdem, ob die Instance von anderen SQL-Clients aus erreichbar ist. Wenn die primäre Instance nicht verfügbar ist, kann das Lesereplikat nicht mit der primären Instance Schritt halten. Überprüfe die Amazon RDS-Ereignisse, um herauszufinden, warum die primäre Instance nicht verfügbar ist. Behebe anschließend das Problem mit der Instance, damit sie wieder erreichbar ist.
  • Wenn die primäre Instance eine hohe CPU- oder Speicherauslastung aufweist, kann es zu einer hohen Übertragungsverzögerung kommen. Überwache die CloudWatch-Metriken der Instance. Verwende außerdem Enhanced Monitoring, um festzustellen, ob ein bestimmter Prozess ungewöhnlich hohe Speicher- oder CPU-Auslastungsspitzen verursacht. Weitere Informationen findest du unter Betriebssystemmetriken in der Aurora- und RDS-Konsole anzeigen. Sobald die CPU- oder Speicherauslastung zurückgeht, kann das Lesereplikat wieder mit der primären Instance Schritt halten. Wenn die hohe Auslastung der Instance erwartungsgemäß ist, skaliere die Instance-Klasse, die IOPS oder den Durchsatz hoch.
  • Überwache die Dateien alert.log der primären Instance und des Lesereplikats, um Warnungen oder ORA-Fehler zu identifizieren. Diese können sich auf die Transport- oder Apply-Prozesse auswirken. Weitere Informationen findest du unter Oracle-Datenbank-Logdateien. Behebe die identifizierten Fehler, um die Verzögerung zu reduzieren.
  • Um diese Änderungen zu replizieren, musst du die Standby-Instance neu erstellen. Es empfiehlt sich, die Redo-Log-Parameter zu aktualisieren, bevor du das Lesereplikat konfigurierst. Weitere Informationen findest du unter Protokollierungskonfiguration ändern.
  • Lesereplikat-Instances mit geringerer Rechenleistung oder Kapazität als die primäre Instance können die Anwendung von Änderungen verlangsamen. Dies führt zu einer Replikationsverzögerung.Überwache die Amazon RDS-Metriken in CloudWatch, um einen verringerten Durchsatz in beiden Instances zu erkennen. Wenn die primäre Instance keine gedrosselten Ressourcen aufweist, das Lesereplikat jedoch gedrosselt wird, ermittle die gedrosselte Ressource. Skaliere anschließend den Speicher oder die Rechenressourcen nach Bedarf.
  • Es kann zu einer Replikationsverzögerung kommen, wenn die primäre Instance keine Last aufweist, das Lesereplikat jedoch stark ausgelastet ist und dadurch Ressourcen gedrosselt werden. Um die Replikationsverzögerung zu beheben, skaliere die Ressourcen der Lesereplikat-Instance hoch. Oder behebe die gedrosselten Ressourcen in der Lesereplikat-Instance.

Ähnliche Informationen

Arbeiten mit Lesereplikaten für Amazon RDS für Oracle

Verwaltete Notfallwiederherstellung und verwaltete Reader-Farm mit Amazon RDS für Oracle unter Verwendung von Oracle Active Data Guard

AWS OFFICIALAktualisiert vor 2 Jahren