Auf dieser Seite sind bekannte Fehler und empfohlene Schritte zur Fehlerbehebung für Folgendes aufgeführt:
Fehler bei Migrationsjobs
Während der Ausführung des Migrationsjobs können Fehler auftreten.
- Einige Fehler, wie z. B. ein ungültiges Passwort in der Quelldatenbank, sind wiederherstellbar. Der Migrationsjob wird automatisch fortgesetzt, nachdem diese Fehler behoben wurden.
- Einige Fehler sind nicht wiederherstellbar, z. B. Fehler bei der Datenreplikation. Sie müssen den Migrationsjob neu starten, nachdem diese Fehler behoben wurden.
Wenn ein Fehler auftritt, ändert sich der Status des Migrationsjobs in Failed und der Unterstatus spiegelt den letzten Status vor dem Fehler wider.
Zum Beheben eines Fehlers rufen Sie den fehlgeschlagenen Migrationsjob auf, um den Fehler anzuzeigen, und folgen Sie dann den Schritten in der Fehlermeldung.
Weitere Details zum Fehler finden Sie in Cloud Monitoring. Verwenden Sie dazu den Link im Migrationsjob. Die Logs werden nach dem jeweiligen Migrationsjob gefiltert.
In der folgenden Tabelle finden Sie einige Beispiele für Probleme und deren Lösung:
| Symptom | Mögliche Ursachen | Lösungsvorschlag |
|---|---|---|
Fehlermeldung: Database Migration Service can't set up a tunnel to be
connected to the bastion host.
|
Database Migration Service konnte nicht auf den Bastion Host zugreifen oder der Bastion Host akzeptiert keine Verbindungen. | Prüfen Sie die Einstellungen für den Weiterleitungs-SSH-Tunnel im Quellverbindungsprofil und in der Konfiguration des SSH-Tunnelservers und versuchen Sie es noch einmal. |
Fehlermeldung: Database Migration Service can't connect to the database
oder
Database Migration Service private connectivity error, cannot connect to the database.
|
Database Migration Service konnte keine Verbindung zur Oracle-Quelldatenbank herstellen. |
Prüfen Sie, ob Sie von Ihrem Projekt aus auf die Quelldatenbank zugreifen können. Prüfen Sie die Einstellungen für die Methode zur Konfiguration der Quellverbindung. Wenn ein bestimmter Oracle-Fehlercode enthalten ist, z. B.
|
Fehlermeldung: Archiving mode is not ARCHIVELOG. |
Die Quelldatenbank wird nicht im Modus ARCHIVELOG ausgeführt. |
Konfigurieren Sie die Quelldatenbank so, dass der Modus ARCHIVELOG verwendet wird.
Weitere Informationen finden Sie unter
Oracle-Quelldatenbank konfigurieren.
|
Fehlermeldung: Supplemental logging ("ALL COLUMN LOGGING") isn't turned
on for the tables listed below.
|
In der Quelldatenbank sind keine zusätzlichen Logdaten aktiviert. | Aktivieren Sie zusätzliche Logdaten und legen Sie den Modus auf ALL fest.
Weitere Informationen finden Sie unter
Oracle-Quelldatenbank konfigurieren.
|
Fehlermeldung: No Archive Log Files were found in the source. |
Database Migration Service liest nur geschlossene Archivlogs. In der Quelldatenbank wurden keine Logs gefunden. |
Wenn die Datenbank keine aktiven Schreibvorgänge enthält, müssen Sie möglicherweise
mindestens einen |
Fehlermeldung: We're missing the necessary permissions to read
from the source.
|
Das Migrationsnutzerkonto in der Quelldatenbank hat nicht die erforderlichen Berechtigungen. |
Database Migration Service stellt eine Verbindung zur Quelle mit dem Nutzerkonto her, das Sie im Quellverbindungsprofil konfiguriert haben. Für dieses Konto sind bestimmte
Berechtigungen erforderlich (z. B. Achten Sie darauf, dass das Migrationsnutzerkonto die erforderlichen Berechtigungen hat. Weitere Informationen finden Sie unter Oracle-Quelldatenbank konfigurieren. |
Fehlermeldung: Unable to connect to the destination database. |
Beim Herstellen einer Verbindung zur Zieldatenbank ist ein Problem aufgetreten. | Prüfen Sie, ob Sie von Ihrem Projekt aus auf die Zieldatenbank zugreifen können. Prüfen Sie die Einstellungen für die Methode zur Konfiguration der Zielverbindung . |
Fehlermeldung: The following tables don't exist in the destination database: {table_names}. |
Die aufgeführten Tabellen, die Sie migrieren möchten, sind in der Zieldatenbank nicht vorhanden. | Database Migration Service erstellt die erforderliche Tabelle und die Definitionen, wenn Sie das Quellschema konvertieren. |
Fehlermeldung: password authentication failed for user {username}. |
Der Nutzername oder das Passwort für die Zieldatenbank sind falsch konfiguriert. | Achten Sie darauf, dass das PostgreSQL-Zielverbindungsprofil mit dem richtigen Nutzernamen und Passwort konfiguriert ist. |
Fehlermeldung: The following tables in the destination database
don't have primary keys: {table_names}.
|
Die in der Fehlermeldung aufgeführten Tabellen sind in der Zieldatenbank vorhanden, haben aber keine Primärschlüssel. |
In den Database Migration Service-Konvertierungsarbeitsbereichen werden beim Konvertieren des Schemas automatisch Primärschlüssel für Tabellen ohne Primärschlüssel hinzugefügt. Wenn Sie Legacy-Konvertierungsarbeitsbereiche verwenden, müssen Sie die Primärschlüssel manuell im Ziel erstellen. Weitere Informationen finden Sie unter Legacy-Konvertierungsarbeitsbereiche. |
Warnung: The following tables have foreign keys: {table_names}. |
Die in der Fehlermeldung aufgeführten Tabellen sind in der Zieldatenbank vorhanden, haben aber Fremdschlüssel. |
Database Migration Service repliziert Daten nicht transaktionsorientiert . Daher werden Tabellen möglicherweise in falscher Reihenfolge migriert. Wenn Fremdschlüssel vorhanden sind, und eine untergeordnete Tabelle, die einen Fremdschlüssel verwendet, vor der übergeordneten Tabelle migriert wird, können Replikationsfehler auftreten. Um solche Probleme mit der Datenintegrität zu vermeiden, überspringen Sie Fremdschlüssel mit
der |
Fehlermeldung: Unable to resume replication as log position is lost. |
Dieser Fehler kann auftreten, wenn der Replikationsprozess längere Zeit pausiert wird, was zum Verlust der Logposition führt. | Ein Migrationsjob sollte nicht länger als die Aufbewahrungsdauer für Logs pausiert werden. Wenn die Logposition verloren geht, müssen Sie den Migrierungsjob neu erstellen. |
Fehlermeldung: ORA-00942: table or view does not exist. |
Dieser Fehler kann aufgrund des Caching auf dem Oracle-Server auftreten. | Erstellen Sie den Datenbanknutzer neu, um das Caching-Problem zu beheben. |
| Der Migrationsjob bleibt in der Phase des vollständigen Dumps und geht nicht in die Phase der Änderungserfassung (Change Data Capture, CDC) über. | Database Migration Service führt für einige Tabellen noch einen vollständigen Dump aus, oder für eine oder mehrere Tabellen kann der vollständige Dump aufgrund von Fehlern nicht abgeschlossen werden. |
|
Verbindungsprobleme
In diesem Abschnitt werden Schritte zur Fehlerbehebung für potenzielle Probleme mit der Netzwerkverbindung aufgeführt und beschrieben.
Verbindung zur Zieldatenbank kann nicht hergestellt werden: EOF
Bei der Ausführung eines Konnektivitätstests wird die Fehlermeldung [DATABASE] unable to connect to the destination database: EOF zurückgegeben.
Mögliche Ursache:Der Dienstanhang ist falsch konfiguriert.
Lösungsvorschlag:Achten Sie darauf, dass enable_proxy_protocol auf
false in der
Terraform-Konfigurationsdatei des Dienstanhangs gesetzt ist.
Das Proxy-Protokoll wird nur für HTTP-Server wie NGINX und Apache unterstützt.
Wenn Sie gcloud verwenden, um die Private Service Connect-Einrichtung zu erstellen, ist das Proxy-Protokoll standardmäßig deaktiviert.
Zeitüberschreitung der Verbindung, Verbindung verweigert
Die Ausführung des Konnektivitätstests schlägt fehl oder es kommt zu einer Zeitüberschreitung. Dies wird höchstwahrscheinlich durch eine falsche Konfiguration des Routings in der Private Service Connect-Einrichtung verursacht. Es kann mehrere Gründe für dieses Problem geben.
Mögliche Ursache:Es fehlt eine Firewallregel, die dem Private Service Connect-NAT-CIDR-Bereich den Zugriff auf das Private Service Connect-Subnetz ermöglicht, in dem sich der Bastion Host befindet, insbesondere auf die nic0-Schnittstelle der Bastion-VM.
Lösungsvorschlag:Achten Sie darauf, dass Ihre Organisationsrichtlinie keine Einschränkungen für interne
Firewallregeln enthält, z. B. für die psc_sp_in_fw Firewallregel, die im
Terraform-Beispielskript für
die Konfiguration der privaten IP-Verbindung für Cloud SQL-Instanzen ohne PSC definiert ist.
Mögliche Ursache:Der Proxy ist ausgefallen. Auf dem angegebenen Port ist kein Listener vorhanden. Daher wird die Verbindung nicht hergestellt.
Lösungsvorschlag:Sie können versuchen, eine SSH-Verbindung zur Bastion-VM herzustellen und mit dem folgenden Befehl nach dem Proxy zu suchen:
netstat -tunalp | grep PORT
Analysieren Sie die Antworten auf den Befehl:
Wenn Sie eine leere Antwort erhalten, ist der Proxy ausgefallen. Führen Sie die folgenden Befehle aus:
sudo su; cd /und prüfen Sie mitsudo dpkg -s dante-server, ob der Dante-Server installiert ist:Wenn der Proxy installiert ist, wird die folgende Meldung angezeigt:
Status: install ok installedWenn der Proxy nicht installiert ist, liegt das Problem wahrscheinlich an einem fehlenden Router. Fügen Sie einen Router hinzu und prüfen Sie mit
apt-get install dante-server, ob Sie den Proxy herunterladen können.
Wenn der Proxy ausgeführt wird und auf dem angegebenen Port überwacht, versuchen Sie, eine Verbindung zu ihm herzustellen. Gehen Sie dazu so vor:
Installieren Sie den PostgreSQL-Client:
sudo apt-get install postgresql-client.Stellen Sie eine Verbindung zur PostgreSQL-Datenbank her:
psql -h 127.0.0.1 -p PORT -U DBUSERNAME -W(Sie werden aufgefordert, das Passwort einzugeben).Ersetzen Sie Folgendes:
PORT: die Portnummer der Datenbank.DBUSERNAME: der Nutzername, der für die Verbindung zur PostgreSQL-Datenbank verwendet wird.
Installieren Sie den Telnet-Client:
sudo apt-get install telnetStellen Sie eine Verbindung zum Telnet-Client her:
telnet 127.0.0.1 PORTErsetzen Sie
PORTdurch die Portnummer der Datenbank.
Je nach Ergebnis der Befehle:
Wenn mit den Befehlen keine Verbindung hergestellt werden kann, suchen Sie in den Proxy-Logs nach der Ursache. Die Ursache kann je nach Einrichtung der Cloud SQL-Instanz variieren.
Wenn die Verbindung mit Telnet hergestellt wird, aber im Client nicht funktioniert, liegt das Problem wahrscheinlich am Routing der Bastion-IP-Adresse. Geben Sie auf Ihrer VM im Terminal
ip routeein. Suchen Sie nach einer Routingregel, die Verbindungen zur privaten IP-Adresse der Cloud SQL-Instanz über die sekundärenic(nic1, dieDB_SUBNETWORK_GATEWAYIP-Adresse) weiterleitet.
Mögliche Ursache:Der Dienstanhang akzeptiert die Endpunktverbindung von Database Migration Service nicht. Der Dienstanhang enthält eine Liste der akzeptierten Projekte. Das Database Migration Service-Projekt ist nicht in der Liste enthalten.
Lösungsvorschlag:Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
Wechseln Sie in der Google Cloud Console zu Private Service Connect.
Akzeptieren Sie auf dem Tab Veröffentlichte Dienste die Verbindung von Database Migration Service für Ihren Dienstanhang (falls sie aussteht).
Fügen Sie das anfragende Projekt der Zulassungsliste für Projekte im Dienstanhang hinzu (falls es abgelehnt wurde).
Weitere Informationen zum Hinzufügen eines Projekts zur Zulassungsliste in Terraform finden Sie in der Terraform-Dokumentation.
Weitere Informationen zum Hinzufügen eines Projekts zur Zulassungsliste in
gcloud, finden Sie in der Referenzdokumentation zur Google Cloud CLI.
Wenn das Problem dadurch nicht behoben wird, erstellen Sie das Verbindungsprofil neu.
Löschen Sie das Verbindungsprofil, das mit der Private Service Connect-Verbindung verknüpft ist, und erstellen Sie es neu.
Fehler bei Oracle SCAN beheben
In diesem Abschnitt werden potenzielle Probleme beschrieben, die bei der Migration von Oracle Real Application Clusters-Quellen (RAC) mit dem Feature Single Client Access Name (SCAN) auftreten können.
Verbindung zu einer Oracle SCAN-Datenbank kann nicht hergestellt werden
Die Ausführung des Konnektivitätstests schlägt fehl oder es kommt zu einer Zeitüberschreitung.
Mögliche Ursache:Möglicherweise versuchen Sie, eine direkte Verbindung zur Oracle SCAN-Quelldatenbank herzustellen. Database Migration Service unterstützt keine direkte Verbindung zu Datenbanken, die das SCAN-Feature in Oracle RAC-Umgebungen verwenden.
Lösungsvorschlag:Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
Stellen Sie eine direkte Verbindung zu einem der Knoten her.
Verwenden Sie den Oracle Connection Manager.
Erstellen Sie eine private Verbindungskonfiguration mit einer Reverse-Proxy-Lösung wie HAProxy.