Mit Konvertierungsarbeitsbereichen können Sie Conversion-Probleme beheben, Ihre Objekte mit dem interaktiven Editor ändern und das konvertierte Schema auf Ihre Zieldatenbank anwenden. Auf dieser Seite finden Sie eine Übersicht über alle Aktionen, die Sie mit Conversion-Arbeitsbereichen ausführen können.
Objekte aus dem Quellschema entfernen
Objekte aus dem Quellschema entfernen, um sie von der Konvertierung auszuschließen. Sie können entfernte Objekte bei Bedarf später wieder hinzufügen.
- Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.
- Wählen Sie auf dem Tab Oracle neben dem Objekt, das Sie entfernen möchten, das > Entfernen aus. -Dreipunkt-Menü Mehr
- Klicken Sie im Bestätigungsdialogfeld Objekt entfernen auf Entfernen.
- Aktualisieren Sie das konvertierte Schema. Klicken Sie auf
Sie können das konvertierte Schema auf dem Tab AlloyDB for PostgreSQL-Entwurf prüfen.
Quelle konvertieren.
Database Migration Service analysiert jetzt Ihre Änderungen und generiert das aktualisierte PostgreSQL-Schema.
Objekte dem Quellschema hinzufügen
Sie können Objekte, die zuvor aus dem Quellschema entfernt wurden, der Konvertierung hinzufügen.
- Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.
- Klicken Sie auf dem Tab Oracle auf Objekte hinzufügen.
- Wählen Sie im Bereich Objekte hinzufügen in der Quellliste alle Entitäten aus, die Sie dem Quellschema hinzufügen möchten.
Mit der Schaltfläche Objekte filtern können Sie die Anzahl der angezeigten Objekte reduzieren. Weitere Informationen finden Sie unter Objekte in der Ansicht „Quellschema“ filtern.
- Klicken Sie auf Objekte hinzufügen.
- Aktualisieren Sie das konvertierte Schema. Klicken Sie auf
Sie können das konvertierte Schema auf dem Tab AlloyDB for PostgreSQL-Entwurf prüfen.
Quelle konvertieren.
Database Migration Service analysiert jetzt Ihre Änderungen und generiert das aktualisierte PostgreSQL-Schema.
Quellschema und Code-Snapshot abrufen
Sie können das Schema und den Code jederzeit aus Ihrer Quelldatenbank in den Konvertierungsarbeitsbereich abrufen. Wenn Sie die Quelle abrufen, haben Sie die Möglichkeit, neue Objekte hinzuzufügen oder vorhandene Objekte in der Conversion zu aktualisieren.
Wenn Sie das aktualisierte Datenbankschema und den Code abrufen, werden keine benutzerdefinierten Zuordnungen zurückgesetzt, die im Konvertierungsarbeitsbereich vorhanden sind, es sei denn, Sie entfernen sie ausdrücklich.
Außerdem werden durch das Abrufen der Quelle keine SQL-Änderungen an Ihren Codeobjekten überschrieben. Sie können diese Änderungen direkt auf Objektebene zurücksetzen.
- Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.
- Klicken Sie auf > Quellschema-Snapshot noch einmal abrufen. Konfiguration bearbeiten
- Gehen Sie im Dialogfeld so vor:
- Optional: Wählen Sie Benutzerdefinierte Zuordnung zurücksetzen aus, um vorhandene benutzerdefinierte Zuordnungen und DDL-Änderungen zu entfernen.
- Klicken Sie auf Schema-Snapshot abrufen.
Der Database Migration Service ruft den neuen Snapshot aus Ihrer Quelldatenbank ab.
- Aktualisieren Sie das konvertierte Schema. Klicken Sie auf
Sie können das konvertierte Schema auf dem Tab AlloyDB for PostgreSQL-Entwurf prüfen.
Quelle konvertieren.
Database Migration Service analysiert jetzt Ihre Änderungen und generiert das aktualisierte PostgreSQL-Schema.
Benutzerdefinierte Conversion-Zuordnungen verwenden
Sie können die Conversion-Logik mit einer Conversion-Zuordnungsdatei anpassen. Die Conversion-Zuordnungsdatei ist eine Textdatei mit genauen Anweisungen (sogenannte Conversion-Anweisungen), wie Ihre Oracle-Objekte in PostgreSQL-Objekte umgewandelt werden sollen.
Benutzerdefinierte Zuordnungsdatei schreiben
So erstellen Sie benutzerdefinierte Zuordnungsdateien:
Verwenden Sie die Beispielkonfigurationsdatei als Referenz.
Erstellen Sie Ihre benutzerdefinierten Conversion-Zuordnungen in einem Texteditor und laden Sie sie in den Konvertierungsarbeitsbereich hoch.
Benutzerdefinierte Zuordnungsdateien hinzufügen
So fügen Sie Ihrem Arbeitsbereich eine benutzerdefinierte Conversion-Zuordnungsdatei hinzu:
- Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.
- Wählen Sie auf der Seite „Conversion-Editor“ die Option > Zuordnung mit einer Konfigurationsdatei anpassen aus. Konfiguration bearbeiten
- Klicken Sie im Feld Konfigurationsdatei auf Durchsuchen und wählen Sie mit der Systemdateiauswahl die Konfigurationsdatei aus.
- Klicken Sie auf > Zuordnung erstellen. Datei hinzufügen
Dateien mit benutzerdefinierten Zuordnungen entfernen
So entfernen Sie eine benutzerdefinierte Conversion-Zuordnungsdatei aus Ihrem Arbeitsbereich:
- Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.
- Wählen Sie auf der Seite „Conversion-Editor“ die Option > Benutzerdefinierte Zuordnung entfernen aus. Konfiguration bearbeiten
Konvertierungsergebnisse überprüfen
Nachdem Sie die Quellkonvertierung durchgeführt haben, können Sie die Konvertierungsergebnisse und mögliche Probleme für jedes einzelne konvertierte Objekt im Bearbeitungsbereich des Arbeitsbereichs prüfen. Sie können auch die Google Cloud CLI verwenden, um alle Ergebnisse und Probleme im Bulk-Verfahren in einer Textdatei zu speichern.
Console
Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.
Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.
Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.
Wählen Sie den Tab Oracle aus und suchen Sie in der Baumstrukturtabelle nach dem Objekt, für das Sie die Conversion-Ergebnisse überprüfen möchten.
Wählen Sie das Objekt aus. Überprüfen Sie die Conversion auf den Tabs SQL und Conversion-Probleme.
gcloud
Mit der Google Cloud CLI können Sie alle Conversion-Ergebnisse oder -Probleme im Terminal ausdrucken. Leiten Sie die Ausgabe an eine Datei weiter, um Bulk-Objektüberprüfungen einfacher durchzuführen.
Liste der Conversion-Ergebnisse abrufen
Die gcloud CLI zeigt die Conversion-Ergebnisse im Terminal in Form von DDL-Anweisungen (Data Definition Language) an. Führen Sie den folgenden Befehl aus, um Conversion-Ergebnisse in einer Datei zu speichern:
gcloud database-migration conversion-workspaces describe-ddls \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Ersetzen Sie:
CONVERSION_WORKSPACE_ID
durch die ID des Konvertierungsarbeitsbereichs ersetzen. Informationen zum Abrufen von Konvertierungsarbeitsbereichs-IDs finden Sie unter Details zum Konvertierungsarbeitsbereich ansehen.REGION_ID
durch den Namen der Region, in der sich der Konvertierungsarbeitsbereich befindet.OUTPUT_FILE_PATH
durch den Pfad zur Textdatei, in der Sie die Ausgabe speichern möchten.Beispiel:
gcloud database-migration conversion-workspaces describe-issues \ my-conversion-workspace \ --region=us-central1 \ > ./my-conversion-issues.txt
Ergebnis:
Die Ergebnisse der Schemakonvertierung werden in einem Textformat gespeichert, in dem die erste Zeile
DDLs
enthält und die nachfolgenden Zeilen SQL-Anweisungen enthalten:DDLs CREATE SCHEMA IF NOT EXISTS "SCHEMA1"; ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID"); CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000)) RETURNS DECIMAL LANGUAGE plpgsql AS $$ DECLARE str2 VARCHAR(100); BEGIN SELECT employees.first_name INTO STRICT STR2 FROM mockschema.employees WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL) ; RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2); RETURN 0; END; $$; CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END; CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES"; CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
Liste der Conversion-Probleme abrufen
Führen Sie den folgenden Befehl aus, um Conversion-Probleme in einer Datei zu speichern:
gcloud database-migration conversion-workspaces describe-issues \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Ersetzen Sie:
-
CONVERSION_WORKSPACE_ID
durch die ID des Konvertierungsarbeitsbereichs ersetzen. Informationen zum Abrufen von Konvertierungsarbeitsbereichs-IDs finden Sie unter Details zum Konvertierungsarbeitsbereich ansehen. -
REGION_ID
durch den Namen der Region, in der sich der Conversion-Arbeitsbereich befindet. -
OUTPUT_FILE_PATH
durch den Pfad zur Textdatei, in der Sie die Ausgabe speichern möchten.
Beispiel:
gcloud database-migration conversion-workspaces describe-issues \
my-conversion-workspace \
--region=us-central1 \
> ./my-conversion-issues.txt
Ergebnis:
Alle Conversion-Probleme in Ihrem Arbeitsbereich werden in einem Textformat gespeichert, wobei die erste Zeile Spaltenüberschriften und jede nachfolgende Zeile ein separates Conversion-Problem enthält:
PARENT NAME ENTITY_TYPE ISSUE_TYPE ISSUE_SEVERITY ISSUE_CODE ISSUE_MESSAGE
SCHEMA1 EMPLOYEES TABLE DDL ERROR 500 unable to parse DDL.
SCHEMA1 EMPLOYEES TABLE CONVERT WARNING 206 no conversion done.
SCHEMA1 STORED_PROCEDURE1 STORED_PROCEDURE DDL ERROR 500 invalid DDL.
SCHEMA1 SYNONYM1 SYNONYM CONVERT WARNING 206 synonym warning message.
Konvertierungsprobleme beheben
Der Datenbank-Migrationsdienst kann Ihre gesamte Quelle möglicherweise nicht automatisch konvertieren. Bei den meisten Oracle-Objekten können Sie das generierte SQL direkt im Conversion-Editor in Database Migration Service anpassen. Bei anderen müssen Sie das Objekt möglicherweise direkt in der Quelldatenbank ändern und dann den Quell-Snapshot noch einmal abrufen.
Eine vollständige Liste der Objekte, die im Database Migration Service direkt im Konvertierungsarbeitsbereich bearbeitet werden können, finden Sie unter Bearbeitbare Oracle-Objekte.
Probleme mit Objekten beheben, die vom integrierten Editor unterstützt werden
So beheben Sie Probleme mit Objekten, die im Editor für Arbeitsbereiche nicht unterstützt werden:
-
Konvertierungsergebnisse überprüfen und mögliche Probleme identifizieren
Sie können die Google Cloud Console zum Prüfen einzelner Objekte oder die gcloud CLI zum Prüfen aller Objekte im Bulk-Verfahren verwenden.
- Aktualisieren Sie auf dem Tab AlloyDB for PostgreSQL den generierten Code mit dem SQL-Editor.
- Testen Sie Ihr Schema, um zu prüfen, ob der Database Migration Service Ihren Code korrekt auf die Zieldatenbank anwenden kann.
Probleme mit Objekten beheben, die vom integrierten Editor nicht unterstützt werden
So beheben Sie Probleme mit Objekten, die im Editor für Arbeitsbereiche nicht unterstützt werden:
- Fehlerhafte Objekte in der Quelle aktualisieren
- Bei einigen Problemen müssen Sie die Oracle-Anweisung möglicherweise direkt in Ihrer Quelldatenbank ändern. Gehen Sie dazu so vor:
- Aktualisieren Sie das Schema und den Code direkt in der Quelldatenbank.
- Aktualisierte Quellen in den Database Migration Service abrufen
- Konvertieren Sie die Quellen noch einmal und prüfen Sie, ob die Probleme weiterhin auftreten.
- Zusätzliche Zuordnungen mit einer Conversion-Zuordnungsdatei angeben
-
Mit einer Conversion-Zuordnungsdatei können Sie genau definieren, wie bestimmte PostgreSQL-Objekte vom Database Migration Service konvertiert werden sollen. So verwenden Sie eine Conversion-Zuordnungsdatei:
- Versuchen Sie, das Objekt vom Tab „Quellen“ zu entfernen.
- Mit dem Datenbank-Migrationsdienst können Sie . Sie können sich das fehlerhafte Objekt später genauer ansehen, um den Konvertierungsprozess zu entsperren. Objekt auf dem Tab „Quellen“ entfernen
Schema im Ziel testen
Bevor Sie das Schema auf die Zieldatenbank anwenden, können Sie zuerst einen Testlauf durchführen, um proaktiv nach möglichen Problemen zu suchen. Für den Test erstellt der Database Migration Service eine temporäre Datenbank. Der Testlauf hat keine Auswirkungen auf Ihren Ziel-AlloyDB for PostgreSQL-Cluster.
Der Nutzer, der die Migration durchführt, muss die Berechtigung
CREATEDB
haben. Weitere Informationen finden Sie unter AlloyDB for PostgreSQL-Zielcluster erstellen und konfigurieren.Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.
Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.
Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.
Klicken Sie auf Auf Ziel anwenden > Testen (empfohlen).
Der Assistent zum Anwenden des Schemas auf die Zieldatenbank wird angezeigt.
Wählen Sie im Abschnitt Ziel definieren das Verbindungsprofil aus, das auf Ihre Zieldatenbank verweist.
Klicken Sie auf Definieren und fortfahren.
Wählen Sie im Abschnitt Objekte auswählen und Anwendung testen die Schemas der Datenbankentitäten aus, die Sie für Ihre Zieldatenbank testen möchten.
Mit der Schaltfläche Objekte filtern können Sie die Anzahl der angezeigten Objekte reduzieren. Weitere Informationen finden Sie unter Objekte in der Quellschemaansicht filtern.
Klicken Sie auf Testanwendung.
Sie können den Anwendungsstatus auf dem Tab AlloyDB for PostgreSQL prüfen.
Schema auf Ziel anwenden
Wenn das Schema, das Sie in der Zieldatenbank verwenden möchten, gemäß Ihren Anforderungen und Zuordnungen konvertiert wurde, können Sie die Ergebnisse auf die Zieldatenbank anwenden. Durch das Anwenden des Schemas im Ziel werden keine Daten in der Quelldatenbank geändert.
Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.
Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.
Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.
Klicken Sie auf Auf Ziel anwenden > Übernehmen.
Der Assistent zum Anwenden des Schemas auf die Zieldatenbank wird angezeigt.
Wählen Sie im Abschnitt Ziel definieren das Verbindungsprofil aus, das auf Ihre Zieldatenbank verweist.
Klicken Sie auf Definieren und fortfahren.
Wählen Sie im Abschnitt Objekte überprüfen und Konvertierung auf Ziel anwenden die Schemas der Datenbankentitäten aus, die Sie in der Zieldatenbank erstellen möchten.
Mit der Schaltfläche Objekte filtern können Sie die Anzahl der angezeigten Objekte reduzieren. Weitere Informationen finden Sie unter Objekte in der Quellschemaansicht filtern.
Klicken Sie auf Auf Ziel anwenden.
Sie können den Anwendungsstatus auf dem Tab AlloyDB for PostgreSQL prüfen.
Migrationsjob aus dem Conversion-Editor erstellen
Sie können einen Migrationsjob, der Ihren Konvertierungsarbeitsbereich verwendet, direkt über die Benutzeroberfläche des Conversion-Editors erstellen.
Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.
Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.
Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.
Klicken Sie auf Migrationsjob erstellen.
Fahren Sie mit den Standardschritten für Migrationsjobs fort, wie unter Migrationsjob erstellen beschrieben.
Objekte in der Quellschemaansicht filtern
Datenbankschemata enthalten oft Tausende von Objekten, was die Partitionierung der Konvertierungsarbeit erschwert. Wenn Sie Objekte aus dem Schema-Snapshot zur Ansicht des Quellschemas hinzufügen, können Sie die Anzahl der angezeigten Objekte mithilfe von Filtern begrenzen. Mithilfe von Filtern können Sie Objekte detaillierter hinzufügen und sich auf die Konvertierung einer ausgewählten Teilmenge Ihres Schemas konzentrieren.
Verwenden Sie die gefilterte Ansicht, wenn Sie der Quellschemaansicht Objekte hinzufügen:
- Verwenden Sie im Feld Filter eine der folgenden Filtermethoden:
- Wählen Sie in der Liste Properties eine der folgenden automatisch vorgeschlagenen Optionen aus:
- Objektname, um die Objekte nach einem Namen zu filtern, z. B.
ADMIN
. - Objekttyp, um die Objekte nach verschiedenen Typen zu filtern, z. B. Funktion oder Tabelle.
- Conversion-Status, um die Objekte nach dem Conversion-Status zu filtern, z. B. Aktion erforderlich oder Keine Probleme.
Sie können Filtereigenschaften mit logischen Operatoren kombinieren.
- Objektname, um die Objekte nach einem Namen zu filtern, z. B.
- Abfrage eingeben. Beispiel:
type=table
.Weitere Informationen zur Filtersyntax finden Sie unter Unterstützte Filtersyntax.
- Wählen Sie die Objekte aus, die Sie der Ansicht des Quellschemas hinzufügen möchten.
Unterstützte Filtersyntax
Sie können Objekte mit einer einfachen Suchanfrage nach Namen filtern oder eine spezielle type
-Property verwenden.
Beide Ansätze unterstützen die
offizielle Google API-Spezifikation zum Filtern. Das bedeutet, dass Sie Literale mit Wildcards sowie logische und Vergleichsoperatoren verwenden können.
- Filterung von Freitext
-
Verwenden Sie den Freitext, um die Objekte nach Name zu filtern. Bei diesem Ansatz wird die Groß-/Kleinschreibung berücksichtigt und Platzhalter werden unterstützt.
Beispiel:
Bei der
*JOB*
-Abfrage werden Platzhalter verwendet, um nach Entitäten zu suchen, die den TeilstringJOB
enthalten. Die gefilterte Ansicht gibt einige Tabellen und eine gespeicherte Prozedur zurück: - Mit dem Attribut
type
filtern -
Sie können Objekte nach allen Standardtypen filtern, die im Datenbank-Migrationsdienst unterstützt werden.
Die Eigenschaft
type
unterstützt die folgenden Literale mit den Gleichheitsoperatoren (=
) und Ungleichheitsoperatoren (!=
):database
,schema
,table
,column
,index
,sequence
,stored_procedure
,function
,view
,synonym
,materialized_view
,udt
,constraint
,database_package
,trigger
undevent_trigger
.Beispiel:
Der Filter
type=table
gibt nur Tabellen zurück, die in Ihrem Schema vorhanden sind:
Filterbedingungen kombinieren
Sie können mehrere Bedingungen angeben, indem Sie sie mit logischen Operatoren kombinieren.
Wenn Sie beispielsweise ausschließlich nach Tabellen suchen möchten, deren Namen die Teilstrings JOB
oder EMPLOYEE
enthalten, verwenden Sie diese Abfrage:
type=table AND (*JOB* OR *EMPLOYEE*)
Daher werden im Filter alle übereinstimmenden Tabellen angezeigt:
