Transiente und permanente Fehler in Replicat für Google Spanner behandeln

Google Spanner weist zwei Fehlerkategorien auf: transient oder permanent. Transiente Fehler können zwar wiederholt werden, dauerhafte Fehler können jedoch nicht nur durch Wiederholung behoben werden. Es ist erforderlich, die Korrekturmaßnahme auszuführen, bevor die Transaktion erneut versucht wird.

Erfahren Sie mehr über die Details transienter und permanenter Fehler und deren Handhabung in Oracle GoldenGate Replicat.

Replicat-Fehler während DML-Vorgängen für Google Spanner behandeln

Wenn eine DML in Spanner zu einem Fehler (ob transient oder permanent) innerhalb einer Transaktion führt, wird diese Transaktion ungültig und unbrauchbar. Dieselbe Transaktion kann dann weder teilweise festgeschrieben noch wiederholt werden.

Alle DMLs in dieser Transaktion müssen mit einem neuen Transaktionsobjekt wiederholt werden. Nur die nicht erfolgreiche DML allein kann in einer ungültigen Transaktion nicht wiederholt werden.

Für den doppelten Primärschlüssel und die Zeile nicht gefundene Fehler muss DML-Ebene REPERROR verwendet werden. Bei allen anderen Google Cloud Spanner-Fehlern wird die Verarbeitung der Transaktionsebene REPERROR verwendet.

Bei allen anderen Fehlern von Spanner wird nur die Verarbeitung der Transaktionsebene REPERROR unterstützt. Die unterstützten REPERROR-Aktionen für Google Cloud Spanner sind TRANSDISCARD, TRANSEXCEPTION, TRANSABORT.

Siehe REPERROR in der Referenz zu Parametern und Funktionen für Oracle GoldenGate.

Transiente Fehler behandeln

Vorübergehende Fehler weisen auf vorübergehende Bedingungen hin, die eine hohe Erfolgschance bei einem erneuten Versuch haben. Wenn Sie solche Fehler erkennen, wird dringend empfohlen, die Transaktion mit REPERROR erneut zu versuchen.

Die Strategie REPERROR zur Behandlung transienter Fehler lautet wie folgt:

Syntax:

REPERROR (*status code*, TRANSABORT, MAXRETRIES *n*, DELAYSECS *n*)

Permanente Fehler behandeln

Wenn permanente Fehler erkannt werden, wird Oracle GoldenGate Replicat nach dem Rollback der Transaktion mit einem Fehler beendet. Sie müssen das zugrunde liegende Problem in der Spanner-Datenbank beheben, bevor Sie das Replicat neu starten.