Mit dem Migrationsutility von einer klassischen zu einer Microservices-Architektur migrieren
Mit dem Migrationsutility von Oracle GoldenGate Classic zu Microservices wird eine Migration von einer Oracle GoldenGate Classic-Architekturinstallation zu einem Microservices-Deployment durchgeführt. Dieses Utility ist ein interaktives Utility, mit dem Extracts, Replicats von einer Classic Architecture-Installation in das Microservices-Deployment migriert und Pump Extracts in einen Verteilungspfad konvertiert werden. Außerdem werden Traildateien, Checkpoints und andere zugehörige Artefakte migriert.
Das Migrationsutility ist im My Oracle Support-(MOS-)Portal als Patch 37274898 verfügbar.
Updates für den Patch werden bei Bedarf freigegeben. Die Patchbeschreibung enthält Details mit der neuesten Build-Nummer.
Voraussetzungen für die Verwendung des Migrationsutilitys
Folgende Voraussetzungen sind für die Verwendung des Migrationsutilitys erforderlich:
-
Oracle GoldenGate 19c und höher mit Bundle Patch 200714 oder höher. Dies ist die Mindestversion der Classic Architecture-Quellinstallation.
Hinweis: Das Migrationsutility kann auch mit Oracle GoldenGate 21c verwendet werden, wenn die zugrunde liegende Datenbank/das zugrunde liegende System bereits die Oracle GoldenGate-Microservices-Architektur in der früheren Version unterstützt, wie Oracle GoldenGate für DAA. Wenn die zugrunde liegende Datenbank die Microservices-Architektur nicht unterstützt, können Sie Oracle GoldenGate 26ai für heterogene Datenbanken verwenden.
-
Java-Version 1.8 JRE oder höher (entspricht Oracle GoldenGate).
-
Neue Deployments, die mit Microservices Architecture erstellt werden, müssen lokal in der Classic Architecture-Installation sein, oder das Classic Architecture-Home-Dateisystem muss auf demselben Host verfügbar sein.
-
Neue Microservices-Architektur-Bereitstellung erstellt und alle Services ausgeführt.
-
Die Installation der Classic-Architektur muss während der Migration gestoppt werden. Stellen Sie sicher, dass die Server-Collectors (sofern vorhanden) ebenfalls gestoppt sind. Abgerufene Prozesse müssen neu gestartet und ordnungsgemäß heruntergefahren werden.
-
Das Migrationsutility muss über einen Shell-/Befehls-Prompt ausgeführt werden, in dem die Umgebungsvariablen für das Microservices-Architektur-Deployment festgelegt sind.
Die Umgebungsvariablen für
OGG_HOMEmüssen auf den Speicherort des Oracle GoldenGate-Microservices-Softwareverzeichnisses gesetzt werden.Bei Microsoft Windows muss die Variable
PATHaufOGG_HOME\libverweisen.Auf UNIX- und Linux-Plattformen muss die
LD_LIBRARY_PATHaufOGG_HOME/libverweisen.
Einschränkungen des Migrationsutilitys
Das Migrationsutility kann keine Prozesse mit den folgenden Einstellungen migrieren:
-
Pump Extract-Prozesse, die Transformationen ausführen oder
DBLOGINaufweisen. -
Klassischer Extract (wird in Oracle GoldenGate 19c verworfen und in Version 21c für alle Ziel-MAs größer als 19.1 nicht mehr unterstützt.)
-
Prozesse, die folgende Parameter verwenden:
-
MACRO -
OBEY -
MACROCHAR
-
-
Verwendung von Remotetraildateien, Remoteaufgaben oder erstmaligem Laden.
-
Absolute Pfadnamen für Traildateien. Klassische Traildatei MUSS in
./dirdat(oder einem Unterverzeichnis darin) gespeichert sein. Wenn sich die Traildatei in einem anderen Verzeichnis befindet, können sie in./dirdatverschoben und dann den Checkpoint mit dem Utilityconvchkfür den Extract geändert werden. Ändern Sie dann den Parameter für jedes betroffene Replicat. Siehe convchk in der Referenz zu Parametern und Funktionen für Oracle GoldenGate für Oracle GoldenGate 26ai. -
INCLUDE Einschränkungen:
-
Verschachtelte Einschlüsse
-
Nur in Extract und Replicats, nicht in Extract Pump.
-
-
Oracle GoldenGate für DAA (nur): Für jede Extract- und Replicat-Gruppe muss die entsprechende Datei
.propertiesmanuell auf Eigenschaften geprüft werden, deren Wert auf eine Datei im Classic-Dateisystem verweist. Führen Sie für jede dieser Eigenschaften die folgenden manuellen Migrationsschritte aus:-
Kopieren Sie die referenzierte Datei in das Microservices-Deployment-Dateisystem.
-
Ändern Sie den Eigenschaftswert so, dass er auf den neuen Dateipfad im Microservices-Deployment-Dateisystem verweist.
-
Migrationsutility ausführen
Stellen Sie sicher, dass Sie die unter Voraussetzungen für die Verwendung des Migrationsutilitys genannten Schritte ausgeführt haben, bevor Sie mit den Aufgaben in diesem Abschnitt beginnen.
Führen Sie in der Eingabeaufforderung die folgenden Schritte aus, um das Migrationsutility auszuführen:
-
Führen Sie den folgenden Befehl zum Starten des Migrations-Utilitys aus:
java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home -dryrunjava -jar ogg-migration-package-23.4.0.0.0.jar -debugjava -jar ogg-migration-package-23.4.0.0.0.jar -helpFolgende Optionen stehen mit diesem Befehl zur Verfügung:
-
-classicHome path: (Erforderlich) Muss auf den Speicherort des Oracle GoldenGate Classic-Softwareverzeichnisses verweisen. -
-dryrun: (Optional) Gibt an, dass die Migration simuliert wird (Probelauf ausführen), um mögliche Probleme zu prüfen. -
-debug: Diese Option ist optional, es wird jedoch empfohlen, diese Option mit dem Utility zu verwenden. Aktiviert Logging und Diagnose auf Debug-Ebene. Es stellt detailliertere Logdaten bereit und erstellt eine ZIP-Datei mit Artefakten aus dem Klassiker und MA, wenn eine Migration fehlschlägt. -
-skipPumpURI: Gibt die Standard-URI bei Pumpmigration akzeptieren an -
-dbtype: Gibt den Datenbanknamen an. Gültige Werte sind 'ORACLE', 'MYSQL', 'MSSQL', 'POSTGRESQL', 'SYBASE', 'DB2400', 'DB2ZOS', 'DB2LUW', 'TERADATA', 'TIMESTEN' -
-help: Zeigt die Verwendung an.
-
-
Das Utility fordert zur Eingabe der Benutzerzugangsdaten für den Service Manager des MA-Deployments auf:
*************************************************************************** ** Oracle GoldenGate Classic to Microservices Migration Utility ** ** Version 23.4.0.0.0 Build 66 at Fri Jan 22 17:24:41 UTC 2024 ** ** Copyright (C) 1995, 2024, Oracle and/or its affiliates. All rights reserved. ** ** ** ** Operating system character set identified as UTF-8. ** ******************************************************************************* Command Entered: -classicHome /ogg/payroll -debug Log File for this session is /ogg/payroll/./Migration081321105419.log. Debug Mode is Enabled. Enter Service Manager Credentials: User Id: dba Password: -
Das Utility scannt nach einem Service Manager auf dem Host und bietet eine Auswahl an Deployments, in die migriert werden soll, wenn mehrere Deployments vorhanden sind. Anschließend werden Sie aufgefordert, fortzufahren.
Scanning for Microservices Deployments... Using Deployment payroll [cf4c7c93-3a1c-4cbc-b1ab-bc942bab7645] The following processes will be migrated to deployment payroll: Extracts: EXTE Replicats: REPW Pumps: DPE Do you wish to continue? (yes/no):>Geben Sie
yesein, um fortzufahren. -
Das Utility migriert die Datenbankzugangsdaten aus dem Classic-Deployment in das Ziel-Microservices-Deployment und kopiert dann alle Traildateien im Classic-Deployment, und migriert alle Extracts- und Replicats-Prozesse.
Migrating Credentials from /ogg/payroll/./dircrd Migrating Credentials for Domain Payroll with an alias of ogg. Migrating Credentials for Domain Payroll with an alias of user. Copying Trail Files from /ogg/payroll/dirdat to /ogg/Microservices/payroll/var/lib/data. 235 trail files copied. Migrating EXTRACT EXTE to http://10.20.0.221:9901. Checkpoint File(s) Copied and Converted Successfully. Parameter File EXTE.prm Saved Successfully. Migration of Extract EXTE Completed Successfully. Migrating REPLICAT REPW to http://10.20.0.221:9901. Parameter File REPW.prm Saved Successfully. Checkpoint File(s) Copied and Converted Successfully. Migration of Replicat REPW Completed Successfully. -
Das Utility migriert dann alle Extract Pump-Prozesse und fordert die URL für den jeweiligen Zielempfängerservice an. Drücken Sie die Eingabetaste, um den Standardwert zu übernehmen.
Wenn Sie ein anderes Ziel verwenden, geben Sie die URL ein. Standardmäßig geht das Utility davon aus, dass die klassische Pumpe an einen anderen klassischen Deployment-Serverprozess gesendet wird. Mit der Standard-URL kann der Distributionsservice mit dem klassischen Ziel verknüpft werden. Wenn Sie auch planen, das klassische Ziel-Deployment zu einem späteren Zeitpunkt zu migrieren, müssen Sie den neu erstellten Verteilungspfad gleichzeitig ändern. Weitere Informationen finden Sie unter Verschiedene Anwendungsfälle für Migration.
Hinweis: Die Loopback-Pumpen werden häufig in einer Testumgebung verwendet, in der eine klassische Pumpe an denselben Manager im selben Deployment gesendet wird. Diese Loopback-Pumpe wird beim migrierten MA-Deployment automatisch an den Empfangsservice weitergeleitet.
Migrating PUMP PMPW2E to http:// 10.20.0.221:9902. Use Default Pump Target URI of ogg://ushost1:9903/services/v2/targets?trail=./bb? Press Enter to Accept or type Alternate URI:> Creating Distribution Path for Pump PMPW2E. Distribution Path Created Successfully. Setting trail sequence to 235 with an RBA of 1319472691. Migration of Pump PMPW2E Completed Successfully. Migrating Manager tasks to http://10.20.0.221:9901. Creating Task for Parameter PurgeTrail-aa. Task Created Successfully. Creating Task for Parameter Purge-Extract. Task Created Successfully. 2 Tasks were migrated, 2 Successfully, 0 with errors. Migrating Lag Report. Creating Task for Parameter LagReport. Task Created Successfully. Migration pf Manager Tasks Completed Successfully. -
Als Nächstes fragt das Utility, ob es Parameter in der GLOBALS-Konfigurationsdatei migrieren und alle aufgetretenen Probleme melden soll.
Do you wish to migrate your GLOBALS parameters? (yes/no):> y GLOBAL parameters successfully migrated, 3 parameters merged. -
Das Utility fordert Sie auf, vorhandene Wallet-Einträge zu kopieren, falls sie vorhanden sind, und gibt eine Warnung aus, wenn Einträge im Ziel-Wallet vorhanden sind. Diese Ziel-Wallet-Einträge werden überschrieben. Nach Abschluss dieser Aufgabe wird das Utility beendet.
Your Classic Deployment has existing wallet entries. Do you wish to copy them? (yes/no):> y Copying Oracle Wallet Entries. WARNING: Target deployment has existing wallet entries and will be overwritten! Do you wish to continue? (yes/no):> y Wallet entries successfully copied. Migration Processing Complete, 3 processes were migrated successfully.Wenn die Migration erfolgreich war, werden die Checkpoint-Dateien im klassischen Verzeichnis
dirchkumbenannt, indem.migratedan den Namen angehängt wird. Dadurch wird verhindert, dass die Classic-Deployment-Prozesse versehentlich gestartet werden.Wenn das Utility auf ein Problem stößt und den Migrationsprozess nicht abschließen kann, führt es ein Rollback aller ausgeführten Arbeiten durch und stellt das klassische Deployment in den ursprünglichen Zustand zurück. Es wird eine Diagnose-ZIP-Datei mit der Logdatei
classic configurationundtarget configurationerstellt, um das Problem zu diagnostizieren.
Verschiedene Anwendungsfälle für die Migration
Oracle GoldenGate Classic Architecture-Deployments sind in der Regel nicht eigenständig. Deployments senden Traildaten normalerweise mit dem Pump-Prozess an andere Deployments, die sehr komplexe miteinander verbundene Topologien aufweisen. Wenn ein Deployment zu Microservices migriert wird, sendet es möglicherweise weiterhin Traildaten an ein anderes Classic- oder Microservices-Deployment. Eine wichtige Funktion der Microservices-Architektur ist die Möglichkeit, das Deployment mit etablierten Sicherheitsprotokollen wie TLS/SSL und gesicherten Web-Sockets zu sichern.
Bei der Migration von Deployments sollte ein durchdachter Ansatz verwendet werden. Normalerweise wird es bevorzugt, dass Quell- und Ziel-Deployments einzeln migriert werden und nicht alle gleichzeitig. Mit dem Migrationsutility können Sie Deployments nacheinander migrieren. Da das Quell-Deployment ein nicht gesichertes Protokoll zur Kommunikation mit Classic Server/Collector oder dem Receiver-Service verwendet, verwendet der migrierte Verteilungspfad das Legacy-Protokoll ogg im Pfad. Dies wird zwar funktionsfähig sein, nutzt jedoch nicht die Sicherheitsfunktionen der Microservices-Architektur, um ein vollständig sicheres Deployment zu erstellen.
Es wird empfohlen, den vom Migrationsutility generierten Verteilungspfad durch einen mit den Protokollen wss oder ws zu ersetzen, nachdem alle Deployments zu Microservices Architecture migriert wurden oder wenn die Quell- und Ziel-Deployments migriert wurden.
Um eine schrittweise Migration von Deployments und Prozessen in die Microservices-Architektur zu ermöglichen, können Quell- und Ziel-Classic-Architektur-Deployments unabhängig migriert werden.
Im Folgenden werden verschiedene Anwendungsfälle und das zugehörige Verteilungsprotokoll aufgeführt, das beim Einrichten des Verteilungspfads verwendet wird.
| Quelle | Ziel | Verteilungsprotokoll | Beschreibung |
|---|---|---|---|
Hubarchitektur (keine Verteilungswege) Classic zu Microservices migrieren |
Nicht anwendbar | Nicht anwendbar | Nicht anwendbar |
| Classic zu Microservices migrieren | Klassisches Deployment | ogg-Protokoll für das klassische Deployment | - |
| Classic zu Microservices migrieren | Microservices-Deployment | ogg-Protokoll | Optional können Sie DISTPATH löschen und neu erstellen, um das ws- oder wss-Protokoll zu verwenden (wenn das Ziel mit einem Reverse Proxy gesichert ist). |
| Klassisches Deployment | Classic zu Microservices migrieren | Pumpe zum Zielempfängerdienst | Quellpumpe muss geändert werden: Empfänger Service Port und Remote Trail |
| Microservices-Deployment | Zu Classic zu Microservices migrieren | ogg-Protokoll | Löschen und erstellen Sie DISTPATH neu, und verwenden Sie das ws- oder wss-Protokoll (wenn das Ziel mit einem Reverse Proxy gesichert ist) |
Migration der Quelle von Classic zu Microservices mit Target als Microservices
In diesem Anwendungsfall können Sie den Verteilungspfad löschen und neu erstellen, um das Protokoll ws oder wss zu verwenden (wenn das Ziel mit einem Reverse Proxy gesichert ist), indem Sie die Sequence-Nr. (seqno) und die RBA-Werte angeben. Dies ist optional, da das Ziel-Deployment die Microservices-Architektur verwendet.
Führen Sie den Admin-Client aus, und stellen Sie eine Verbindung zum Quell-Deployment her, um die SEQNO- und RBA-Werte abzurufen:
OGG (http://north:9001)> INFO DISTPATH dpe, DETAIL
Path Name: dpe Status: running
Source: trail://north:9002/services/v2/sources?trail=ea
Target: ogg://south:9003/services/v2/targets?trail=ra
Authentication Method: USERIDALIAS ggsca domain OracleGoldenGate
[...]
Checkpoints:
Input Checkpoint:
Current:
Name: ea
Sequence: 14
Offset: 2579
Path: /u01/ogg_deployments/depl_north/var/lib/data/
[...]
Konvertieren Sie den Verteilungspfad in das ws- oder wss-Protokoll, indem Sie den Verteilungspfad, der vom Migrationsutility erstellt wurde, neu erstellen und positionieren:
OGG (http://south:9001)> DELETE DISTPATH dpe, DETAIL
## If using Secure Web Socket Protocol (wss)
OGG (http://south:9001)> ADD DISTPATH dpm
SOURCE trail://src_host:9002/services/v2/sources?trail=ea
TARGET wss://trg_host:9003/services/v2/targets?trail=ra
AUTHENTICATION CERTIFICATE default
## If using Web Socket Protocol (ws)
OGG (http://south:9001)> ADD DISTPATH dpm
SOURCE trail://src_host:9002/services/v2/sources?trail=ea
TARGET ws://trg_host:9003/services/v2/targets?trail=ra
AUTHENTICATION USERIDALIAS ggsca DOMAIN OracleGoldenGate
OGG (http://south:9001)> ALTER DISTPATH dpm, BEGIN SEQNO 14, RBA 2579
OGG (http://south:9001)> START DISTPATH dpm
Ziel von Classic zu Microservices migrieren, bei denen Source Microservices ist
In diesem Anwendungsfall ist es obligatorisch, den Verteilungspfad zu löschen und neu zu erstellen, um das ws- oder wss-Protokoll zu verwenden, wenn das Ziel mit einem Reverse Proxy gesichert ist. Befolgen Sie die Schritte unter Quelle von Classic zu Microservices mit Ziel als Microservices migrieren, um den Verteilungspfad im Ziel-Deployment zu löschen und neu zu erstellen.
Ziel von Classic zu Microservices mit Quelle als Classic migrieren
Wenn Sie das Ziel-Deployment zu Microservices Architecture migrieren, während sich das Quell-Deployment auf Classic Architecture befindet, müssen Sie die folgenden zusätzlichen Schritte ausführen:
-
Ändern Sie den Pumpenport an der Quelle, die ihn an den Zielempfängerservice weiterleitet.
-
Das Verzeichnis
dirdatwird in der Ziel-Microservices-Dateihierarchie nicht benötigt. Ändern Sie die DateiRMTTRAILin der Extract Pump-Parameterdatei von./dirdat/rain./ra, wie im folgenden Beispiel dargestellt:
Wie im folgenden Beispiel gezeigt, wurde die Portnummer des Zielmanagers in die Portnummer des Empfängerservice 9903 geändert, und der Dateipfad RMTTRAIL wurde in der Extract Pump-Parameterdatei geändert.
GGSCI> STOP EXTRACT PMPW2E
GGSCI> EDIT PARAMS PMPW2E
Die Parameterdatei Extract Pump lautet wie folgt:
EXTRACT PMPW2E
USERIDALIAS ggeast,
target uri: host1:9903/services/v2/targets?trail=./bb? ENCRYPT AES192,
RMTTRAIL ./rt SEQUENCE hr.employees_seq; TABLE hr.*;
Starten Sie Extract Pump neu, nachdem Sie die Änderungen abgeschlossen haben:
GGSCI> START EXTRACT PMPW2E
Hinweis: Dem Ziel werden keine Traildateien zugestellt.
Stoppen Sie vor Beginn der Migration alle Prozesse an der Quelle ordnungsgemäß.