Auf dieser Seite sind bekannte Fehler und empfohlene Schritte zur Fehlerbehebung für folgende Produkte aufgeführt:
Fehler bei Migrationsjobs
Während der Laufzeit 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, sobald diese Fehler behoben sind.
- Einige Fehler können nicht korrigiert werden, z. B. Fehler bei der Datenreplizierung. 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 entspricht dem letzten Status vor dem Fehler.
Wenn Sie einen Fehler beheben möchten, rufen Sie den fehlgeschlagenen Migrationsjob auf, um den Fehler anzuzeigen, und folgen Sie der Anleitung in der Fehlermeldung.
Weitere Informationen zum Fehler finden Sie in Cloud Monitoring. Klicken Sie dazu auf den Link zum Migrationsjob. Die Protokolle werden nach dem jeweiligen Migrationsjob gefiltert.
In der folgenden Tabelle finden Sie einige Beispiele für Probleme und wie sie behoben werden können:
Symptom | Mögliche Ursachen | Lösungsvorschlag |
---|---|---|
Fehlermeldung: Database Migration Service can't set up a tunnel to be
connected to the bastion host .
|
Der Dienst zur Datenbankmigration 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 SSH-Tunnelserverkonfiguration 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 über Ihr Projekt auf die Quelldatenbank zugreifen können. Prüfen Sie die Einstellungen für die Konfigurationsmethode der Quellverbindung. Wenn ein bestimmter Oracle-Fehlercode enthalten ist, z. B. |
Fehlermeldung: Archiving mode is not ARCHIVELOG . |
Ihre Quelldatenbank wird nicht im Modus ARCHIVELOG ausgeführt. |
Konfigurieren Sie Ihre Quelldatenbank für den Modus ARCHIVELOG .
Weitere Informationen finden Sie unter
Oracle-Quelldatenbank konfigurieren.
|
Fehlermeldung: Supplemental logging ("ALL COLUMN LOGGING") isn't turned
on for the tables listed below .
|
Für Ihre Quelldatenbank sind keine ergänzenden Protokolldaten 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 . |
Der Database Migration Service liest nur geschlossene Archivprotokolle und in der Quelldatenbank wurden keine Protokolle gefunden. |
Wenn in der Datenbank keine aktiven Schreibvorgänge vorhanden sind, müssen Sie möglicherweise mindestens einen |
Fehlermeldung: We're missing the necessary permissions to read
from the source .
|
Das Migrationsnutzerkonto in Ihrer Quelldatenbank hat nicht die erforderlichen Berechtigungen. |
Der Database Migration Service stellt eine Verbindung zur Quelle als das Nutzerkonto her, das Sie im Verbindungsprofil der Quelle konfigurieren. Dieses Konto benötigt eine bestimmte Reihe von Berechtigungen (z. B. Das Nutzerkonto für die Migration muss die erforderlichen Berechtigungen haben. 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 Konfigurationsmethode 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. | Der Database Migration Service erstellt die erforderlichen Tabellen und 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. | Prüfen Sie, ob 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, aber es fehlen Primärschlüssel. |
In Konvertierungsbereichen des Database Migration Service werden Tabellen, die beim Konvertieren des Schemas keine Primärschlüssel haben, automatisch Primärschlüssel hinzugefügt. Wenn Sie alte Conversion-Arbeitsbereiche 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. |
Der Database Migration Service repliziert Daten nicht transaktional. Daher werden Tabellen möglicherweise nicht in der richtigen Reihenfolge migriert. Wenn Fremdschlüssel vorhanden sind und eine untergeordnete Tabelle, die einen Fremdschlüssel verwendet, vor ihrer übergeordneten Tabelle migriert wird, können Replikationsfehler auftreten. Um solche Probleme mit der Datenintegrität zu vermeiden, überspringen Sie Fremdschlüssel mit der Option |
Fehlermeldung: Unable to resume replication as log position is lost . |
Dieser Fehler kann auftreten, wenn der Replikationsprozess für einen längeren Zeitraum pausiert wird, was zum Verlust der Logposition führt. | Ein Migrationsjob sollte nicht länger als die Aufbewahrungsdauer der Protokolle pausiert werden. Wenn die Protokollposition verloren geht, müssen Sie den Migrationsjob neu erstellen. |
Fehlermeldung: ORA-00942: table or view does not exist . |
Dieser Fehler kann durch das Caching auf dem Oracle-Server verursacht werden. | Erstellen Sie den Datenbanknutzer neu, um das Caching-Problem zu beheben. |
Der Migrationsjob bleibt in der Phase des vollständigen Dumps und wechselt nicht zur CDC-Phase (Change Data Capture). | Der Database Migration Service führt für einige Tabellen weiterhin einen vollständigen Dump aus oder der vollständige Dump für eine oder mehrere Tabellen kann aufgrund von Fehlern nicht abgeschlossen werden. |
|
Verbindungsprobleme
In diesem Abschnitt werden Schritte zur Fehlerbehebung bei potenziellen Problemen mit der Netzwerkverbindung aufgeführt und beschrieben.
Verbindung zur Zieldatenbank nicht möglich: EOF
Beim Ausführen eines Konnektivitätstests wird die Fehlermeldung [DATABASE] unable to connect to the destination database: EOF
zurückgegeben.
Mögliche Ursache:Die Dienstanhänge sind falsch konfiguriert.
Mögliche Schritte:Prüfen Sie, ob enable_proxy_protocol
in der
Terraform-Konfigurationsdatei für den Dienstanhang auf false
festgelegt ist.
Das Proxyprotokoll wird nur für HTTP-Server wie NGINX und Apache unterstützt.
Wenn Sie gcloud
zum Erstellen der Private Service Connect-Einrichtung verwenden, ist das Proxyprotokoll standardmäßig deaktiviert.
Zeitüberschreitung bei der Verbindung, Verbindung abgelehnt
Der Konnektivitätstest schlägt fehl oder es kommt zu einer Zeitüberschreitung. Dies wird höchstwahrscheinlich durch ein falsch konfiguriertes Routing in der Private Service Connect-Einrichtung verursacht. Dafür kann es verschiedene Gründe geben.
Mögliche Ursache:Es fehlt eine Firewallregel, die dem Private Service Connect-NAT-CIDR-Bereich den Zugriff auf das Private Service Connect-Subnetz, in dem sich die Bastion befindet, insbesondere auf die Bastion-VM-Schnittstelle nic0
, erlaubt.
Versuche:Achten Sie darauf, dass Ihre Organisationsrichtlinie keine internen Firewallregeln einschränkt, z. B. die Firewallregel psc_sp_in_fw
, die im Beispiel-Terraform-Script für die
Konfiguration der privaten IP-Zielverbindung für AlloyDB for PostgreSQL-Instanzen ohne PSC definiert ist.
Mögliche Ursache:Der Proxy ist ausgefallen. Es gibt keinen Listener für den angegebenen Port. Daher hängt die Verbindung.
Versuche:Sie können versuchen, eine SSH-Verbindung zur Bastion-VM herzustellen und mit dem folgenden Befehl nach dem Proxy suchen:
netstat -tunalp | grep PORT
Analysieren Sie die Antworten auf den Befehl:
Wenn Sie eine leere Antwort erhalten, ist der Proxy nicht verfügbar. Führen Sie die folgenden Befehle aus:
sudo su; cd /
und prüfen, ob der Dante-Server installiert ist, indem dusudo dpkg -s dante-server
ausführst:Wenn der Proxy installiert ist, wird die folgende Meldung angezeigt:
Status: install ok installed
Wenn der Proxy nicht installiert ist, liegt wahrscheinlich ein fehlender Router vor. Fügen Sie einen Router hinzu und prüfen Sie, ob Sie den Proxy herunterladen können, indem Sie
apt-get install dante-server
ausführen.
Wenn der Proxy ausgeführt wird und den 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 Datenbankportnummer.DBUSERNAME
: Der Nutzername, der für die Verbindung mit der PostgreSQL-Datenbank verwendet wird.
Installieren Sie den Telnet-Client:
sudo apt-get install telnet
Stellen Sie eine Verbindung zum Telnet-Client her:
telnet 127.0.0.1 PORT
Ersetzen Sie
PORT
durch die Datenbank-Portnummer.
Je nach Ergebnis der Befehle:
Wenn mit den Befehlen keine Verbindung hergestellt werden kann, sehen Sie sich die Proxy-Logs an, um die Ursache zu ermitteln. Die Ursache kann je nach Einrichtung der AlloyDB for PostgreSQL-Instanz variieren.
Wenn die Verbindung über Telnet geöffnet wird, aber am Client hängt, liegt das Problem wahrscheinlich am Routing der Bastion-IP-Adresse. Geben Sie auf Ihrer VM
ip route
in das Terminal ein. Suchen Sie nach einer Routingregel, die Verbindungen über die sekundärenic
(nic1
, dieDB_SUBNETWORK_GATEWAY
-IP-Adresse) an die private IP-Adresse der AlloyDB for PostgreSQL-Instanz weiterleitet.
Mögliche Ursache:Der Dienstanhang akzeptiert die Endpunktverbindung vom Database Migration Service nicht. Der Dienstanhang enthält eine Liste der akzeptierten Projekte. Das Projekt „Database Migration Service“ ist nicht in der Liste enthalten.
Mögliche Schritte:Versuchen Sie Folgendes, 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 Dienst-Anhang, falls sie ausstehend ist.
Fügen Sie das anfragende Projekt der Zulassungsliste der Projekte im Dienstanhang hinzu, falls es abgelehnt wurde.
Weitere Informationen zum Hinzufügen eines Projekts auf die Zulassungsliste in Terraform finden Sie in der Terraform-Dokumentation.
Weitere Informationen zum Hinzufügen eines Projekts auf die 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 mit der Private Service Connect-Verbindung verknüpfte Verbindungsprofil und erstellen Sie es neu.
Oracle SCAN-Fehler beheben
In diesem Abschnitt werden mögliche Probleme beschrieben, die bei der Migration von Oracle Real Application Cluster-Quellen (RAC) mit der Funktion „Single Client Access Name“ (SCAN) auftreten können.
Verbindung zu einer Oracle-SCAN-Datenbank kann nicht hergestellt werden
Der Konnektivitätstest schlägt fehl oder es kommt zu einer Zeitüberschreitung.
Mögliche Ursache:Möglicherweise versuchen Sie, eine Verbindung direkt zu Ihrer Oracle-SCAN-Quelldatenbank herzustellen. Der Database Migration Service unterstützt keine direkte Verbindung zu Datenbanken, die die SCAN-Funktion in Oracle RAC-Umgebungen verwenden.
Mögliche Schritte:Versuchen Sie Folgendes, um das Problem zu beheben:
Stellen Sie eine direkte Verbindung zu einem der Knoten her.
Verwenden Sie den Oracle Connection Manager.
Erstellen Sie eine Konfiguration für private Verbindungen mit einer Reverse-Proxy-Lösung wie HAProxy.