Legacy-Konvertierungsarbeitsbereiche sind eine ältere, eingeschränktere Art von Konvertierungsarbeitsbereichen. Sie unterstützen keine Gemini-basierten Konvertierungsfunktionen oder den interaktiven SQL-Editor. Sie können nur verwendet werden, um Ihr Quellschema mit dem Migrationstool Ora2Pg zu konvertieren.
Wir empfehlen nicht, den Legacy-Typ von Konvertierungsarbeitsbereichen für Ihre Migrationen zu verwenden, da er mehrere andere Einschränkungen für den Konvertierungsworkflow mit sich bringt:
| Interaktiver Konvertierungsarbeitsbereich | Legacy-Konvertierungsarbeitsbereich |
|---|---|
| Die Konvertierung von Schema- und Codeobjekten erfolgt in Database Migration Service. | Sie führen die Konvertierung von Schema- und Codeobjekten außerhalb Database Migration Service mit dem Migrationstool Ora2Pg durch. |
| Sie können konvertierte Quellen direkt in Database Migration Service auf die Zieldatenbank anwenden. | Sie sind dafür verantwortlich, das konvertierte Schema auf die Zieldatenbank in Ihrem AlloyDB for PostgreSQL-Zielcluster anzuwenden. |
| Sie können Ihr Entwurfsschema und Ihren Code direkt in Database Migration Service testen, um sicherzustellen, dass sie erfolgreich auf Ihren Zielcluster angewendet werden können. | Sie können Ihr Entwurfsschema und Ihren Code nicht testen, ohne den Zielcluster zu beeinträchtigen. |
Fügt automatisch fehlende rowid Spalten für Tabellen hinzu, die
keine Primärschlüssel und eindeutigen Einschränkungen haben. |
Sie müssen den Zieltabellen fehlende Primärschlüssel hinzufügen, nachdem Sie das Schema angewendet haben. |
Legacy-Konvertierungsarbeitsbereiche verwenden
Wenn Ihr Szenario die Verwendung von Legacy-Konvertierungsarbeitsbereichen erfordert, ändern Sie den Migrationsprozess mit den folgenden Aktionen:
Ora2Pg-Konfigurationsdatei schreiben
In der Ora2Pg-Dokumentation finden Sie eine Anleitung zur Verwendung des Ora2Pg-Konvertierungstools. Maximieren Sie die folgenden Abschnitte, um die vollständige Liste der in Database Migration Service unterstützten Direktiven zu sehen.
In Database Migration Service unterstützte Ora2Pg-Konfiguration
Database Migration Service unterstützt die folgende Konfiguration für Ora2Pg-Dateien:
BOOLEAN_VALUESDATA_TYPEDEFAULT_NUMERICENABLE_MICROSECONDEXPORT_SCHEMAMODIFY_STRUCTMODIFY_TYPEPG_INTEGER_TYPEPG_NUMERIC_TYPEPG_SCHEMAPRESERVE_CASEREPLACE_AS_BOOLEANREPLACE_COLSREPLACE_TABLESREPLACE_ZERO_DATESCHEMA
Database Migration Service verwendet Verbindungsprofile, um Details zur Konnektivität zu definieren. Daher müssen Sie die folgenden Informationen nicht in Ihrer Ora2Pg-Konfigurationsdatei definieren:
ORACLE_DSNORACLE_HOMEORACLE_PWDORACLE_USERPG_DSNPG_PWDPG_USER
Außerdem verwendet Database Migration Service die
WHEREKonfigurationsdirektive nicht, um die zu migrierenden Datensätze zu beschränken.- Legacy-Konvertierungsarbeitsbereich erstellen und Schema konvertieren.
Konvertiertes Schema manuell auf die Zieldatenbank anwenden
Nachdem Sie die Ora2Pg-Konfiguration und den Arbeitsbereich erstellt haben, müssen Sie den generierten Code selbst direkt auf die Zieldatenbank anwenden.
Tabellen ohne Primärschlüssel migrieren
Database Migration Service migriert nur Tabellen mit Primärschlüsseln. Wenn Ihre Quelldatenbank Tabellen ohne Primärschlüssel enthält, müssen Sie in den konvertierten Tabellen in der Zieldatenbank manuell Primärschlüssel oder eindeutige Einschränkungen erstellen, nachdem Sie das konvertierte Schema angewendet haben. Maximieren Sie den folgenden Abschnitt, um weitere Informationen zu erhalten.
Primärschlüssel oder eindeutige Einschränkungen in der Zieldatenbank hinzufügen
So migrieren Sie Oracle-Tabellen ohne Primärschlüssel:
-
Stellen Sie mit dem
psqlClient eine Verbindung zu Ihrem AlloyDB for PostgreSQL-Cluster her. - Erstellen Sie die fehlenden Primärschlüsseleinschränkungen für Ihre Tabellen. Weitere Informationen zu Primärschlüsseln finden Sie in der PostgreSQL-Dokumentation unter
Primärschlüssel.
Sie können auch die folgenden Abschnitte maximieren, um SQL-Beispielbefehle zu sehen:
Primärschlüssel mit vorhandenen Spalten erstellen
Ihre Tabelle hat möglicherweise bereits einen logischen Primärschlüssel, der auf einer Spalte oder einer Kombination von Spalten basiert. Beispielsweise können Spalten mit einer eindeutigen Einschränkung oder einem eindeutigen Index konfiguriert sein. Verwenden Sie diese Spalten, um einen neuen Primärschlüssel für Tabellen in Ihrer Quelldatenbank zu generieren. Beispiel:
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (COLUMN_NAME);
Primärschlüssel mit allen Spalten erstellen
Wenn Sie keine vorhandene Einschränkung haben, die als Primärschlüssel dienen könnte, erstellen Sie Primärschlüssel mit allen Spalten der Tabelle. Achten Sie darauf, dass Sie die maximale Länge des Primärschlüssels, die von Ihrem PostgreSQL-Cluster zulässig ist, nicht überschreiten. Beispiel:
ALTER TABLE TABLE_NAME ADD PRIMARY KEY (COLUMN_NAME_1, COLUMN_NAME_2, COLUMN_NAME_3, ...);
Wenn Sie einen zusammengesetzten Primärschlüssel wie diesen erstellen, müssen Sie alle Spaltennamen explizit auflisten, die Sie verwenden möchten. Es ist nicht möglich, eine Anweisung zu verwenden, um alle Spaltennamen für diesen Zweck abzurufen.
Eindeutige Einschränkung mit der Pseudospalte
ROWIDerstellenIn Oracle-Datenbanken wird die
ROWIDPseudospalte verwendet, um die Position jeder Zeile in einer Tabelle zu speichern. Wenn Sie Oracle-Tabellen ohne Primärschlüssel migrieren möchten, können Sie in der PostgreSQL-Zieldatenbank eineROWIDSpalte hinzufügen. Database Migration Service füllt die Spalte mit den entsprechenden numerischen Werten aus der Oracle-QuellpseudospalteROWID.Führen Sie Folgendes aus, um die Spalte hinzuzufügen und als Primärschlüssel festzulegen:
ALTER TABLE TABLE_NAME ADD COLUMN rowid numeric(33,0) NOT NULL; CREATE SEQUENCE TABLE_NAME_rowid_seq INCREMENT BY -1 START WITH -1 OWNED BY TABLE_NAME.rowid; ALTER TABLE TABLE_NAME ALTER COLUMN rowid SET DEFAULT nextval('TABLE_NAME_rowid_seq'); ALTER TABLE TABLE_NAME ADD CONSTRAINT CONSTRAINT_DISPLAY_NAME PRIMARY KEY (rowid);
-
Stellen Sie mit dem
Nächste Schritte
Nachdem Sie den Konvertierungsworkflow mit dem Legacy-Arbeitsbereich ausgeführt haben, können Sie mit den Standardmigrationsverfahren fortfahren. Weitere Informationen finden Sie unter Migrationsjob erstellen.