Aktionen für Konvertierungsarbeitsbereiche

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.

  1. Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.

    Konvertierungsarbeitsbereiche aufrufen

  2. Wählen Sie auf dem Tab Oracle neben dem Objekt, das Sie entfernen möchten, das -Dreipunkt-Menü Mehr > Entfernen aus.
  3. Klicken Sie im Bestätigungsdialogfeld Objekt entfernen auf Entfernen.
  4. Aktualisieren Sie das konvertierte Schema. Klicken Sie auf Quelle konvertieren. Database Migration Service analysiert jetzt Ihre Änderungen und generiert das aktualisierte PostgreSQL-Schema.

    Sie können das konvertierte Schema auf dem Tab AlloyDB for PostgreSQL-Entwurf prüfen.

Objekte dem Quellschema hinzufügen

Sie können Objekte, die zuvor aus dem Quellschema entfernt wurden, der Konvertierung hinzufügen.

  1. Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.

    Konvertierungsarbeitsbereiche aufrufen

  2. Klicken Sie auf dem Tab Oracle auf Objekte hinzufügen.
  3. 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.

  4. Klicken Sie auf Objekte hinzufügen.
  5. Aktualisieren Sie das konvertierte Schema. Klicken Sie auf Quelle konvertieren. Database Migration Service analysiert jetzt Ihre Änderungen und generiert das aktualisierte PostgreSQL-Schema.

    Sie können das konvertierte Schema auf dem Tab AlloyDB for PostgreSQL-Entwurf prüfen.

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.

  1. Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.

    Konvertierungsarbeitsbereiche aufrufen

  2. Klicken Sie auf Konfiguration bearbeiten > Quellschema-Snapshot noch einmal abrufen.
  3. Gehen Sie im Dialogfeld so vor:
    1. Optional: Wählen Sie Benutzerdefinierte Zuordnung zurücksetzen aus, um vorhandene benutzerdefinierte Zuordnungen und DDL-Änderungen zu entfernen.
    2. Klicken Sie auf Schema-Snapshot abrufen.

      Der Database Migration Service ruft den neuen Snapshot aus Ihrer Quelldatenbank ab.

  4. Aktualisieren Sie das konvertierte Schema. Klicken Sie auf Quelle konvertieren. Database Migration Service analysiert jetzt Ihre Änderungen und generiert das aktualisierte PostgreSQL-Schema.

    Sie können das konvertierte Schema auf dem Tab AlloyDB for PostgreSQL-Entwurf prüfen.

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:

  1. Liste der unterstützten Conversion-Richtlinien

  2. Verwenden Sie die Beispielkonfigurationsdatei als Referenz.

  3. 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:

  1. Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.

    Konvertierungsarbeitsbereiche aufrufen

  2. Wählen Sie auf der Seite „Conversion-Editor“ die Option Konfiguration bearbeiten > Zuordnung mit einer Konfigurationsdatei anpassen aus.
  3. Klicken Sie im Feld Konfigurationsdatei auf Durchsuchen und wählen Sie mit der Systemdateiauswahl die Konfigurationsdatei aus.
  4. Klicken Sie auf Datei hinzufügen > Zuordnung erstellen.

Dateien mit benutzerdefinierten Zuordnungen entfernen

So entfernen Sie eine benutzerdefinierte Conversion-Zuordnungsdatei aus Ihrem Arbeitsbereich:

  1. Wählen Sie in der Google Cloud Console Conversion-Arbeitsbereiche und dann Ihren Arbeitsbereich aus.

    Konvertierungsarbeitsbereiche aufrufen

  2. Wählen Sie auf der Seite „Conversion-Editor“ die Option Konfiguration bearbeiten > Benutzerdefinierte Zuordnung entfernen aus.

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

  1. Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.

    Konvertierungsarbeitsbereiche aufrufen

  2. Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.

    Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.

  3. 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.

  4. 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:

  1. 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.

  2. Aktualisieren Sie auf dem Tab AlloyDB for PostgreSQL den generierten Code mit dem SQL-Editor.
  3. 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:
  1. Aktualisieren Sie das Schema und den Code direkt in der Quelldatenbank.
  2. Aktualisierte Quellen in den Database Migration Service abrufen
  3. 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:

  1. Conversion-Zuordnungsdatei erstellen
  2. Fügen Sie die Konfigurationsdatei dem Arbeitsbereich hinzu.
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.

  1. Der Nutzer, der die Migration durchführt, muss die Berechtigung CREATEDB haben. Weitere Informationen finden Sie unter AlloyDB for PostgreSQL-Zielcluster erstellen und konfigurieren.

  2. Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.

    Konvertierungsarbeitsbereiche aufrufen

  3. Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.

    Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.

  4. Klicken Sie auf Auf Ziel anwenden > Testen (empfohlen).

    Der Assistent zum Anwenden des Schemas auf die Zieldatenbank wird angezeigt.

  5. Wählen Sie im Abschnitt Ziel definieren das Verbindungsprofil aus, das auf Ihre Zieldatenbank verweist.

  6. Klicken Sie auf Definieren und fortfahren.

  7. 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.

  8. 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.

  1. Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.

    Konvertierungsarbeitsbereiche aufrufen

  2. Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.

    Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.

  3. Klicken Sie auf Auf Ziel anwenden > Übernehmen.

    Der Assistent zum Anwenden des Schemas auf die Zieldatenbank wird angezeigt.

  4. Wählen Sie im Abschnitt Ziel definieren das Verbindungsprofil aus, das auf Ihre Zieldatenbank verweist.

  5. Klicken Sie auf Definieren und fortfahren.

  6. 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.

  7. 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.

  1. Rufen Sie in der Google Cloud Console Conversion-Arbeitsbereiche auf.

    Konvertierungsarbeitsbereiche aufrufen

  2. Klicken Sie auf den Anzeigenamen des Konvertierungsarbeitsbereichs, mit dem Sie arbeiten möchten.

    Der Editor für den Konvertierungsarbeitsbereich wird geöffnet.

  3. Klicken Sie auf Migrationsjob erstellen.

  4. 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:

  1. Verwenden Sie im Feld Filter eine der folgenden Filtermethoden:
  2. Wählen Sie in der Liste Properties eine der folgenden automatisch vorgeschlagenen Optionen aus:
    1. Objektname, um die Objekte nach einem Namen zu filtern, z. B. ADMIN.
    2. Objekttyp, um die Objekte nach verschiedenen Typen zu filtern, z. B. Funktion oder Tabelle.
    3. 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.

  3. Abfrage eingeben. Beispiel: type=table.

    Weitere Informationen zur Filtersyntax finden Sie unter Unterstützte Filtersyntax.

  4. 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.

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 Teilstring JOB enthalten. Die gefilterte Ansicht gibt einige Tabellen und eine gespeicherte Prozedur zurück:

Screenshot mit Beispielergebnissen für das Filtern von Objekten nach Name
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 und event_trigger.

Beispiel:

Der Filter type=table gibt nur Tabellen zurück, die in Ihrem Schema vorhanden sind:

Screenshot mit Beispielergebnissen für das Filtern von Objekten nach dem Attribut „Typ“
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:

Screenshot mit Beispielergebnissen für das Filtern von Objekten nach einer Kombination aus Typ- und Namenseigenschaften