Überblick
Im Stream können während der Laufzeit Fehler auftreten.
- Einige Fehler, wie z. B. ein ungültiges Passwort in der Quelldatenbank, sind wiederherstellbar. Dies bedeutet, dass diese Fehler behoben werden können und der Stream anschließend automatisch fortgesetzt wird.
- Fehler können Auswirkungen auf ein einzelnes Objekt haben, z. B. ein Ereignis, das nicht unterstützte Datentypen enthält. Fehler können sich auch auf mehrere Objekte oder den gesamten Stream auswirken, z. B. wenn Datastream keine Verbindung zur Quelldatenbank herstellen kann.
- Je nach Fehler finden Sie Informationen auf den Seiten Streams oder Streamdetails der Datastream-Benutzeroberfläche. Sie können auch die APIs von Datastream verwenden, um Informationen zum Fehler abzurufen.
Zum Beheben eines Fehlers rufen Sie den Stream auf, um den Fehler anzuzeigen, und folgen dann den Schritten in der Fehlermeldung.
Diese Seite enthält Informationen zu Konfiguration, Konnektivität sowie Oracle- und MySQL-Fehlern sowie Schritte zur Fehlerbehebung.
Konfigurations- und Verbindungsfehler
Fehler | Schritte zur Fehlerbehebung |
---|---|
Fehler beim Herstellen einer Verbindung zur Quelldatenbank (generisch). | Dieser Fehler kann verschiedene Gründe haben. Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:
Der Stream wird automatisch fortgesetzt. |
Fehler beim Herstellen einer Verbindung zur Quelldatenbank (IP-Zulassungsliste). | Dies kann passieren, wenn als Verbindungsmethode IP-Zulassungsliste ausgewählt wurde, aber eine oder mehrere ausgehende IP-Adressen von Datastream der Quelldatenbank nicht korrekt hinzugefügt wurden. Achten Sie darauf, dass die im Datastream-Verbindungsprofil angezeigten ausgehenden IP-Adressen in der Netzwerkfirewall konfiguriert sind, damit der Quelldatenbankserver Verbindungen von diesen IP-Adressen annehmen kann. Danach wird der Stream automatisch fortgesetzt. |
Fehler beim Herstellen einer Verbindung zur Quelldatenbank (Weiterleitungs-SSH-Tunnel). | Dies kann bei einem Problem mit dem Weiterleitungs-SSH-Tunnel auftreten. Prüfen Sie den Status des Tunnels. Wenn der Tunnel gestoppt ist, muss er gestartet werden. Danach wird der Stream automatisch fortgesetzt. |
Datastream kann über einen Weiterleitungs-SSH-Tunnel keine Verbindung zu einem Bastion Host herstellen. | Prüfen Sie, ob die Konfiguration des Weiterleitungs-SSH-Tunnels im Quellverbindungsprofil richtig ist und ob der Port auf dem SSH-Tunnelserver geöffnet ist. |
Fehler beim Herstellen einer Verbindung zur Quelldatenbank aufgrund von ungültigen Zertifikaten. | Dies kann auftreten, wenn bei der Definition des Quellverbindungsprofils ein Problem mit den Zertifikaten auftritt. Rufen Sie die Seite Verbindungsprofile auf und wählen Sie das angegebene Verbindungsprofil aus. Prüfen Sie, ob die Zertifikate richtig eingerichtet sind. Nachdem Sie die Änderungen vorgenommen haben, speichern Sie das Verbindungsprofil. Der Stream wird dann automatisch fortgesetzt. |
Fehler bei der Verwendung einer privaten Verbindung zum Herstellen einer Verbindung zur Quelldatenbank. |
|
Der Verbindungstyp STATIC_SERVICE_IP_CONNECTIVITY ist nicht zulässig, wenn die Organisationsrichtlinie constraints/datastream.disablePublicConnectivity aktiviert ist. | Sie haben die öffentliche Netzwerkverbindungsmethode "IP-Zulassungsliste" oder "Weiterleitungs-SSH-Tunnel" für das erstellte Verbindungsprofil ausgewählt. Die Organisationsrichtlinie Öffentliche Verbindungsmethoden blockieren für Datastream ist jedoch aktiviert. Daher können Sie keine öffentlichen Verbindungsmethoden für das Verbindungsprofil auswählen. Wählen Sie zum Beheben dieses Problems entweder privates VPC-Peering als Netzwerkverbindungsmethode aus oder deaktivieren Sie die Organisationsrichtlinie. So deaktivieren Sie die Organisationsrichtlinie:
|
Beim Konfigurieren der Quelldatenbank für meinen Stream kann ich die Tabellen und Schemas, die ich übertragen möchte, nicht in der Liste der einzuschließenden Objekte finden. | Dies kann passieren, wenn Ihre Datenbank Tausende von Tabellen und Schemas enthält. Einige davon sind möglicherweise nicht in der Liste der Objekte enthalten, die abgerufen werden sollen, wenn die Quelle für den Stream in der Google Cloud Console konfiguriert wird. Anstatt im Abschnitt Einzuschließende Objekte auswählen die Option Bestimmte Schemas und Tabellen auszuwählen, wählen Sie Benutzerdefiniert aus. Geben Sie im Feld Kriterien für Objektabgleich die Schemas und Tabellen ein, die Datastream abrufen soll. |
Ich habe meinem Stream über das Menü Einzuschließende Objekte mehrere Tabellen hinzugefügt. Wenn ich mir jedoch den Tab Objekte unter Stream-Details anschaue, sehe ich, dass einige Tabellen fehlen. | Achten Sie darauf, dass für jede dieser Tabellen mindestens eine CDC-Aktualisierung erfolgt, damit Datastream die Änderungen erkennen und die Tabellen automatisch in den Stream aufnehmen kann. |
Fehler beim Laden der Liste der Objekte, wenn das Menü Einzuschließende Objekte in der Google Cloud Console verwendet wird. | Dies kann passieren,wenn Ihre Datenbank mehr als 5.000 Schemas und Tabellen enthält. Verwenden Sie eine andere Methode, um anzugeben, welche Objekte enthalten sein sollen, oder verwenden Sie die Datastream API. Weitere Informationen finden Sie unter Quelldatenbanken konfigurieren. |
Ereignisse, die während des Streamings verworfen und am Ziel nicht repliziert wurden. | Datastream löscht möglicherweise nicht unterstützte Ereignisse während des Streamings. Sie können die folgenden Schritte ausführen, um das Problem zu beheben:
|
Oracle-Fehler
Fehler | Schritte zur Fehlerbehebung |
---|---|
Das zusätzliche Logging ist in der Quelldatenbank falsch konfiguriert. | Beim Abrufen laufender CDC-Daten (Change Data Capture) kann ein Fehler auftreten, wenn die Konfiguration des zusätzlichen Loggings in der Quelldatenbank nicht korrekt ist. Prüfen Sie, ob das zusätzliche Logging richtig konfiguriert ist. Prüfen Sie insbesondere, ob das zusätzliche Logging für die Datenbanktabellen aktiviert ist, die von der Quelle in das Ziel gestreamt werden. Der Stream wird automatisch fortgesetzt. |
Die Replikation kann nicht fortgesetzt werden, wenn die Logposition verloren geht. | Dieser Fehler kann auftreten, wenn der Replikationsprozess für einen längeren Zeitraum pausiert wird, wodurch die Logposition verloren geht. Streams sollten nicht für Zeiträume pausiert werden, die sich der Aufbewahrungsdauer der Logs nähern. Erstellen Sie den Stream neu. |
Logdateien fehlen entweder teilweise oder vollständig. | Die Logdateien wurden möglicherweise gelöscht. Oracle löscht Logdateien so schnell wie möglich, es sei denn, Sie geben einen Mindestrotationszeitraum an, um sie beizubehalten.
Legen Sie auf dem Oracle-Server fest, wie lange die Logdateien aufbewahrt werden sollen. Verwenden Sie beispielsweise Verwenden Sie für eine RDS-Bereitstellung |
Die Ausschlussliste subsumiert die Einschlussliste. | Die Einschlussliste ist vollständig in der Ausschlussliste enthalten. Daher ist die Liste der Objekte, die Datastream aus der Quelle abruft, leer. Ändern Sie die Objektauswahl und versuchen Sie es noch einmal. |
Der Logging-Modus für die Oracle-Datenbank ist nicht auf ARCHIVELOG festgelegt. | Ändern Sie den Logging-Modus und versuchen Sie es noch einmal. |
Datastream gibt die Fehlermeldung ORA-00942: table or view does not exist zurück, ist aber richtig konfiguriert. |
Dies kann durch das Caching auf dem Oracle-Server verursacht werden. Das Caching-Problem sollte durch das Neuerstellen des Datenbanknutzers behoben werden. |
Änderungen an einer Oracle-Quelle werden nicht im Ziel übernommen, wenn der Stream bereits ausgeführt wird. | Da Datastream aus archivierten Redo-Logdateien liest, werden die Änderungen, die Sie an der Quelle vornehmen, erst dann im Ziel berücksichtigt, wenn das Log archiviert wurde. Wenn Sie die Änderungen am Ziel sehen möchten, ändern Sie die Richtlinie für die Logarchivierung oder erzwingen Sie manuell einen Logwechsel. Weitere Informationen finden Sie unter Mit Redo-Logdateien von Oracle-Datenbanken arbeiten. |
Es ist ein unerwarteter interner Fehler aufgetreten. | Weitere Informationen erhalten Sie vom Google-Support. |
MySQL-Fehler
Fehler | Schritte zur Fehlerbehebung |
---|---|
Binlog ist in der Quelldatenbank falsch konfiguriert. | Dies kann bei kontinuierlichen MySQL-Streams auftreten, wenn die binlog-Konfiguration in der Quelldatenbank falsch ist. Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:
|
Die Replikation kann nicht fortgesetzt werden, wenn die Binlog-Position verloren geht. | Dieser Fehler kann auftreten, wenn der Replikationsprozess für einen längeren Zeitraum pausiert wird, wodurch die binlog-Position verloren geht. Streams sollten nicht für Zeiträume pausiert werden, die sich der binlog-Aufbewahrungsdauer nähern. Erstellen Sie den Stream neu. |
Fehler beim Ausführen des Streams aufgrund inkompatibler Versionen von Quelldatenbank und Ziel. | Das kann passieren, wenn die Quelldatenbank nicht der Supportmatrix für Versionen entspricht. Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:
|
Die MySQL-Quell-Binlogs von AWS RDS fehlen entweder teilweise oder vollständig. | Die Binlogs wurden möglicherweise gelöscht. AWS RDS löscht Binlogs so schnell wie möglich, es sei denn, Sie geben einen Mindestrotationszeitraum an, um sie beizubehalten.
Legen Sie in der MySQL-Quellinstanz von AWS RDS fest, wie lange (in Stunden) die Binlogs aufbewahrt werden sollen. Verwenden Sie beispielsweise mysql.rds_set_configuration('binlog retention hours', 168); , um die Binlogs mindestens 7 Tage lang aufzubewahren. |
Die Ausschlussliste subsumiert die Einschlussliste. | Die Einschlussliste ist vollständig in der Ausschlussliste enthalten. Daher ist die Liste der Objekte, die Datastream aus der Quelle abruft, leer. Ändern Sie die Objektauswahl und versuchen Sie es noch einmal. |
Datastream kann keine MySQL-Datenbank replizieren. | Prüfen Sie, ob Datastream die Berechtigungen zum Replizieren der Datenbank hat. |
Beim Erstellen eines Verbindungsprofils für eine MySQL-Quelle werden im Menü Verschlüsselungstyp mehrere PEM-codierte SSL-Zertifikate nicht akzeptiert. | Datastream unterstützt keine SSL-Zertifikatsketten in MySQL-Verbindungsprofilen. Es werden nur einzelne, x509-PEM-codierte Zertifikate unterstützt. |
Es ist ein unerwarteter interner Fehler aufgetreten. | Weitere Informationen erhalten Sie vom Google-Support. |
PostgreSQL-Fehler
Fehler | Schritte zur Fehlerbehebung |
---|---|
Die logische Decodierung ist in der Quelldatenbank falsch konfiguriert. | Prüfen Sie, ob die logische Decodierung richtig konfiguriert ist. Siehe PostgreSQL-Quelldatenbank konfigurieren |
Replikationsslot ist nicht vorhanden | Ein Fehler beim Abrufen laufender CDC-Daten (Change Data Capture) kann auftreten, wenn der Replikationsslot in der Datenbank nicht vorhanden ist. Prüfen Sie, ob der Replikationsslot richtig konfiguriert ist. Siehe PostgreSQL-Quelldatenbank konfigurieren |
Replikationsslot ist mit einem falschen Plug-in konfiguriert | Dieser Fehler kann auftreten, wenn der Replikationsslot mit einem anderen Plug-in als pgoutput konfiguriert ist. Prüfen Sie, ob der Replikationsslot richtig konfiguriert ist. Weitere Informationen finden Sie unter PostgreSQL-Quelldatenbank. |
Der Replikationsslot ist in einem anderen Prozess aktiv. | Dieser Fehler kann auftreten, wenn der Replikationsslot von einem anderen Prozess verwendet wird. Replikationsslots können jeweils nur von einem einzigen Prozess verwendet werden. Verwenden Sie denselben Replikationsslot nur in Datastream und nicht in einem anderen Prozess. |
Publikation ist nicht richtig konfiguriert | Dieser Fehler kann auftreten, wenn die Publikation nicht so konfiguriert ist, dass die in der Streamkonfiguration enthaltenen Tabellen verfügbar gemacht werden. Prüfen Sie, ob die Publikation richtig konfiguriert ist. Siehe Informationen zur Quelldatenbank für den Stream konfigurieren. |
Publikation existiert nicht. | Dieser Fehler kann auftreten, wenn die Publikation in der Datenbank nicht vorhanden ist. Prüfen Sie, ob die Publikation richtig konfiguriert ist. Siehe PostgreSQL-Quelldatenbank konfigurieren |
Replikation kann nicht fortgesetzt werden, da WAL-Dateien verloren gehen. | Dieser Fehler kann auftreten, wenn der Replikationsprozess für einen längeren Zeitraum pausiert wird, wodurch die WAL-Dateien verloren gehen. Streams sollten nicht für Zeiträume pausiert werden, die die Aufbewahrungsdauer für WAL-Dateien nähern. Erstellen Sie den Stream neu. |
Die Ausschlussliste subsumiert die Einschlussliste. | Die Einschlussliste ist vollständig in der Ausschlussliste enthalten. Daher ist die Liste der Objekte, die Datastream aus der Quelle abruft, leer. Ändern Sie die Objektauswahl und versuchen Sie es noch einmal. |
Datastream kann kein PostgreSQL-Schema replizieren. | Achten Sie darauf, dass Datastream die Berechtigungen zum Replizieren des Schemas hat. |
Große Transaktionen in der Quelldatenbank verursachen Probleme bei der Datenreplikation und -synchronisierung. | Wenn Sie eine große Anzahl von Datensätzen in der Quelldatenbank einfügen, aktualisieren oder löschen, wird der Replikationsslot möglicherweise mit den entsprechenden Ereignissen überlastet. Datastream benötigt Zeit, um diese Ereignisse zu lesen und zu verarbeiten. Da es sich bei PostgreSQL-Replikationsslots um einen Single-Thread-Slot handelt, wird die Verarbeitung anderer Änderungen im Replikationsslot, einschließlich Änderungen an Daten in anderen Tabellen, verzögert, bis Datastream alle Änderungen im Replikationsslot fertigstellt hat. |
Große Transaktionen in der Quelldatenbank verursachen einen niedrigen CDC-Durchsatz. | Datastream unterstützt kein Multithread-CDC in PostgreSQL. Um diese Einschränkung zu umgehen und den CDC-Durchsatz zu erhöhen, können Sie die Quelle in mehrere Streams mit jeweils einem eigenen Publikations- und Replikationsslot aufteilen. Sie können beispielsweise einen Stream für die größte Tabelle in Ihrer Datenbank und einen weiteren für alle anderen Tabellen oder einen Stream für die Tabellen mit der höchsten Priorität und einen weiteren für die übrigen Tabellen erstellen. Die Anwendungsfälle können variieren, sodass Sie überlegen müssen, was in Ihrem spezifischen CDC-Szenario am sinnvollsten ist. Informationen zum Erstellen einer Publikation finden Sie unter PostgreSQL-Quelldatenbank konfigurieren. |
Nicht unterstützte Ereignisse mit Ursachencode gelöscht: BIGQUERY_TOO_MANY_PRIMARY_KEYS . |
Wenn die PostgreSQL-Replikatidentität für eine Tabelle auf FULL festgelegt ist, behandelt Datastream alle Spalten in dieser Tabelle als Primärschlüssel. Wenn die Tabelle mehr als 16 Spalten enthält, verstößt dies gegen die Beschränkung der BigQuery-CDC und verursacht den Fehler. So beheben Sie das Problem:
|
Es ist ein unerwarteter interner Fehler aufgetreten. | Weitere Informationen erhalten Sie vom Google-Support. |
SQL Server-Fehler
Fehler | Schritte zur Fehlerbehebung |
---|---|
CDC ist für die Datenbank DATABASE_NAME deaktiviert. | Change Data Capture (CDC) muss für die Datenbank aktiviert sein. Datastream benötigt direkten Lesezugriff auf Transaktionslogs, um Änderungen in Echtzeit an die Quelldatenbank zu replizieren und vollständige Loginformationen zu erhalten. Aktivieren Sie CDC für die Datenbank und versuchen Sie es noch einmal. Informationen zum Aktivieren von CDC für eine Datenbank finden Sie unter SQL Server-Quelldatenbank konfigurieren. |
Tabellen mit deaktiviertem CDC. | Change Data Capture (CDC) muss für alle im Stream enthaltenen Tabellen aktiviert sein. Datastream benötigt direkten Lesezugriff auf Transaktionslogs, um Änderungen in Echtzeit an Quelltabellen zu replizieren und vollständige Loginformationen zu erhalten. Aktivieren Sie CDC für die im Stream enthaltenen Tabellen und versuchen Sie es noch einmal. Informationen zum Aktivieren von CDC für Quelltabellen finden Sie unter SQL Server-Quelldatenbank konfigurieren. |
Fehlende Berechtigungen. | Datastream fehlen die erforderlichen Berechtigungen zum Lesen aus der Quelle. Gewähren Sie dem Nutzerkonto, das zum Herstellen einer Verbindung zu Ihrer Datenbank verwendet wird, die entsprechenden Berechtigungen und versuchen Sie es noch einmal. |
Die SQL Server-Edition EDITION_NAME wird nicht unterstützt. | Datastream unterstützt diese SQL Server-Version nicht. Weitere Informationen zu unterstützten SQL Server-Versionen finden Sie unter Übersicht über SQL Server als Quelle. |
Die SQL Server-Version VERSION_NAME der Standardversion wird nicht unterstützt. | Datastream unterstützt diese Version von SQL Server Standard nicht. Weitere Informationen zu unterstützten SQL Server-Versionen finden Sie unter Übersicht über SQL Server als Quelle. |
BigQuery-Fehler
Fehler | Schritte zur Fehlerbehebung |
---|---|
BIGQUERY_UNSUPPORTED_PRIMARY_KEY_CHANGE, details: Failed to write to BigQuery due to an unsupported primary key change: adding primary keys to existing tables is not supported. |
Wenn sich der Primärschlüssel in der Quelle ändert, müssen Sie die Tabelle in BigQuery löschen und den Backfill noch einmal initiieren. Dies ist eine Einschränkung von BigQuery, da es keine Möglichkeit gibt, eine korrekte Zusammenführung neuer Ereignisse mit vorhandenen Zeilen sicherzustellen, wenn sich der Primärschlüssel unterscheidet. Weitere Informationen finden Sie unter BigQuery-Ziel konfigurieren. |