AWS Database Migration Service (DMS) ist ein Service zum Migrieren von Datenbanken auf AWS, bei denen die Quelldatenbank Folgendes sein könnte:
- Eine Datenbank auf AWS (EC2,RDS)
- Eine lokale Datenbank
- Eine Datenbank auf einer anderen Cloud-Plattform wie Oracle Cloud Platform
Die Zieldatenbank könnte sein:
- Eine Datenbank auf AWS (EC2, RDS, Redshift, DynamoDB)
- Eine lokale Datenbank
- Eine Datenbank auf einer anderen Cloud-Plattform wie Oracle Cloud Platform
Mindestens eine der beiden Datenbanken, Quelle und Ziel, muss sich auf AWS befinden. Beispielsweise darf DMS nicht verwendet werden, um eine lokale Datenbank auf die Google Cloud-Plattform zu migrieren. In zwei Artikeln diskutieren wir die Migration einer Oracle-Datenbank zu einer MySQL-Datenbank mit Database Migration Service. In einem früheren Artikel „Migration einer Oracle-Datenbank zu MySQL auf AWS, Teil 1“ haben wir die Einrichtung von Quell- und Zieldatenbanken besprochen. In diesem Folgeartikel führen wir die Migration durch. Dieser Artikel hat die folgenden Abschnitte:
- Migration erstellen
- Migration ausführen
- Migriertes Datenbankschema abfragen
- Migration neu starten
- Ändern einer Migration
- Schlussfolgerung
Migration erstellen
In diesem Abschnitt erstellen wir eine DMS-Migration, um die Oracle-DB-Instance auf RDS auf die MySQL-DB-Instance auf RDS zu migrieren. Melden Sie sich als der zuvor erstellte IAM-Benutzer (dvohra oder andere) an. Wählen Sie das DMS aus Service in der AWS-Konsole, wie in Abbildung 1 gezeigt.
Abbildung 1: DMS-Service in der AWS-Konsole
Klicken Sie auf Migration erstellen , wie in Abbildung 2 gezeigt.
Abbildung 2: Migration erstellen
Der AWS Database Migration Service-Assistent wird gestartet, wie in Abbildung 3 gezeigt. Klicken Sie auf der Willkommensseite auf Weiter.
Abbildung 3: AWS Database Migration Service-Assistent
Als nächstes Replikationsinstanz erstellen Seite wird angezeigt, wie in Abbildung 4 gezeigt.
Abbildung 4: Replikationsinstanz erstellen
Geben Sie einen Replikationsinstanznamen an oder behalten Sie die Standardeinstellung bei, wie in Abbildung 5 gezeigt. Wählen Sie eine Instanzklasse aus oder behalten Sie die Standardeinstellung bei. Wählen Sie eine VPC aus da keine Standard-VPC konfiguriert ist. Wählen Sie Multi-AZ aus als Nein um eine einzelne Availability Zone zu verwenden. Wählen Sie Öffentlich zugänglich aus Option.
Abbildung 5: Replikationsinstanz konfigurieren
Unter Erweitert Einstellungen sind die Standardeinstellungen für den zugewiesenen Speicher, die replizierte Subnetzgruppe und die Verfügbarkeitszone in Abbildung 6 dargestellt.
Abbildung 6: Erweiterte Einstellungen
Wählen Sie den KMS-Hauptschlüssel als Verschlüsselungsschlüssel (dms ), die zuvor erstellt wurden, wie in Abbildung 7 gezeigt. Klicken Sie auf Weiter.
Abbildung 7: Auswählen des KMS-Hauptschlüssels
Konfigurieren Sie als Nächstes die Datenbankendpunkte so, dass sie eine Verbindung zu Quell- und Zieldatenbankendpunkten herstellen, wie in Abbildung 8 gezeigt. Die Datenbankendpunkte können angegeben werden, während die Replikationsinstanz erstellt wird. Die Quell- und Zielendpunkte werden in separaten Spalten mit den Bezeichnungen Quelldatenbank-Verbindungsdetails und Zieldatenbank-Verbindungsdetails konfiguriert.
Abbildung 8: Datenbankendpunkte
Wählen Sie die Quell-Engine aus aus der Dropdown-Liste als Oracle , wie in Abbildung 9 gezeigt.
Abbildung 9: Source-Engine
Wählen Sie die Zielmaschine aus aus der Dropdown-Liste als mysql , wie in Abbildung 10 gezeigt.
Abbildung 10: Auswahl der Ziel-Engine
Für den Servernamen s, geben Sie die Endpunkte für die DB-Instances an, wie sie in der RDS-Konsole aufgeführt sind, indem Sie das Suffix :port entfernen. Der Servername für die Oracle DB lautet orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com und der Servername für die MySQL-DB ist mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Der Port wird separat im Port angegeben Feld und ist 1521 für die Oracle-Datenbank und 3306 für die MySQL-Datenbank. Wählen Sie SSL-Modus aus als keine sowohl für Quell- als auch für Zieldatenbanken. Geben Sie den Benutzernamen und das Kennwort als Master-Benutzername und Master-Kennwort an, die beim Erstellen der RDS-Instanzen konfiguriert wurden. Die Verbindungsdetails von Quelle und Ziel sind in Abbildung 11 dargestellt.
Abbildung 11: Quell- und Zielverbindungsdetails
Scrollen Sie nach unten für die erweiterten Verbindungseinstellungen. Geben Sie für die Oracle-Datenbank die SID an, wie in Abbildung 12 gezeigt. Legen Sie für die MySQL-Datenbank die Zusätzlichen Verbindungsattribute fest zu targetDbType=SPECIFIC_DATABASE . Der KMS-Masterschlüssel muss der Verschlüsselungsschlüssel (dms) sein, der als IAM-Benutzer (dvohra) für DMS erstellt wurde.
Abbildung 12: Erweiterte Verbindungseinstellungen
Klicken Sie auf Test ausführen für jede der Datenbanken, um die Verbindung zu testen. Das Ergebnis sollte Verbindung erfolgreich getestet lauten, wie in Abbildung 13 gezeigt.
Abbildung 13: Test ausführen
Als nächstes muss eine Migrationsaufgabe konfiguriert werden, vor der die Replikationsinstanz hätte erstellt werden sollen, wie in Abbildung 14 gezeigt.
Abbildung 14: Replikationsinstanz erstellt
Klicken Sie nach dem Konfigurieren der Datenbankendpunkte auf Weiter, wie in Abbildung 15 gezeigt.
Abbildung 15: Datenbankendpunkte konfiguriert
In Aufgabe muss mindestens eine Auswahlregel konfiguriert werden oder eine Aufgabe wird nicht erstellt, wie die Fehlermeldung beim Aufgabe erstellen anzeigt angeklickt wird (siehe Abbildung 16).
Abbildung 16: Mindestens eine Auswahlregel ist erforderlich
Klicken Sie auf Auswahlregel hinzufügen Link in Abbildung 16. Konfigurieren Sie im Auswahlregeldetail ein Where Auswahlregel. Wählen Sie Schema aus als DVOHRA (das Schema wäre für verschiedene Benutzer unterschiedlich) und geben Sie Tabellenname ist wie an als % . In Aktion können Objekte ein- oder ausgeschlossen werden, indem Sie Einschließen auswählen oder Ausschließen . Ausschlüsse werden nach Einschlüssen verarbeitet. Wählen Sie Aktion als Einschließen aus. Es können Quellfilter hinzugefügt werden, um die Anzahl und Art der von der Quelle zum Ziel übertragenen Datensätze zu begrenzen. Klicken Sie auf Auswahlregel hinzufügen , wie in Abbildung 17 gezeigt. Klicken Sie anschließend auf Aufgabe erstellen .
Abbildung 17: Hinzufügen einer Auswahlregel
Eine neue Aufgabe wird hinzugefügt, wie in Abbildung 18 gezeigt. Anfänglich lautet der Aufgabenstatus „Wird erstellt.“
Abbildung 18: Neue Aufgabe
Wenn die Aufgabe erstellt wird, ändert sich der Status zu Bereit , wie in Abbildung 19 gezeigt.
Abbildung 19: Aufgabenstatus als Bereit
Migration ausführen
Um die Migration auszuführen, klicken Sie auf Starten/Fortsetzen , wie in Abbildung 20 gezeigt.
Abbildung 20: Starten/Fortsetzen
Der Status sollte zu Startend werden (siehe Abbildung 21).
Abbildung 21: Aufgabe wird gestartet
Nach dem Starten wechselt der Status zu Wird ausgeführt . Wenn die Migration abgeschlossen ist, lautet der Status Laden abgeschlossen , wie in Abbildung 22 gezeigt.
Abbildung 22: Laden abgeschlossen
Die Tabellenstatistik sollte die migrierten Tabellen auflisten, wie in Abbildung 23 gezeigt.
Abbildung 23: Tabellenstatistik
Migriertes Datenbankschema abfragen
Listen Sie in der MySQL-CLI die Datenbanken mit dem Befehl show databases auf, wie in Abbildung 24 gezeigt. Die DVOHRA Datenbank (Schema) wird aufgelistet.
Abbildung 24: Datenbanken auflisten
Wählen Sie DVOHRA aus Datenbank mit verwenden Sie DVOHRA Befehl. Listen Sie die Tabellen mit dem Befehl show tables auf, wie in Abbildung 25 gezeigt. Das WEBLOGICLOG und WLSLOG Tabellen, die früher in der Oracle-Datenbank erstellt wurden, wurden migriert und werden aufgelistet.
Abbildung 25: Tabellen auflisten
Die Tabelle wird ebenfalls migriert. Das WEBLOGIKLOG Die Tabelle enthält keine Daten und es werden auch keine in einer SQL-Abfrage zurückgegeben (siehe Abbildung 26).
Abbildung 26: SQL-Abfrage auf WEBLOGLOG listet keine Daten auf
Die migrierte WLSLOG-Tabelle enthält Daten, wie ein Abfrageergebnis in Abbildung 27 zeigt.
Abbildung 27: Daten in der WLSLOG-Tabelle werden migriert
Migration neu starten
Standardmäßig fragt die Migration die Quelldatenbank nicht aktiv ab, um die Änderungen zu migrieren, falls vorhanden. Wenn Änderungen an der Quelldatenbank vorgenommen werden, z. B. wenn Daten zu einer Tabelle hinzugefügt oder eine neue Tabelle erstellt wird, muss die Migration erneut ausgeführt werden. Fügen Sie beispielsweise Daten zum weblogiclog hinzu Tabelle in der Oracle-Datenbank.
INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STANDBY'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STARTING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to ADMIN'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RESUMING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000361','Started WebLogic AdminServer'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RUNNING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000360','Server started in RUNNING mode');
Um die zu MySQL hinzugefügten Daten zu migrieren, klicken Sie auf Start/Fortsetzen , wie in Abbildung 28 gezeigt.
Abbildung 28: Neustart einer Migration
In der Aufgabe starten Dialog stehen zwei Optionen zur Verfügung:Start und Neu starten , wie in Abbildung 29 gezeigt. Der Start Option lädt nur neue Tabellen (vollständiges Laden) und Tabellen, die in einem vorherigen Durchlauf der Aufgabe unvollständig waren (teilweises Laden).
Abbildung 29: Aufgabe starten
Denn das WEBLOGICLOG Tabelle wurde bereits migriert (Volllast ist abgeschlossen) und neue Daten müssen migriert werden, der Neustart Option ausgewählt werden, wie in Abbildung 30 gezeigt.
Abbildung 30: Neustart einer Migration
Der Aufgabenstatus wird wieder Wird gestartet gefolgt von Läuft (siehe Abbildung 31).
Abbildung 31: Aufgabenstatus Wird ausgeführt
Wenn die Ausführung der Aufgabe abgeschlossen ist, wird der Status zu Laden abgeschlossen , wie in Abbildung 32 gezeigt.
Abbildung 32: Laden abgeschlossen
Fragen Sie das WEBLOGICLOG ab Daten in der MySQL-CLI und die migrierten Daten werden aufgelistet, wie in Abbildung 33 gezeigt.
Abbildung 33: Daten wurden beim Neustart der Aufgabe migriert
Ändern einer Migration
Eine Migrationsaufgabe muss möglicherweise geändert werden, z. B. um eine Auswahlregel hinzuzufügen/zu entfernen oder eine der anderen Aufgabeneinstellungen zu ändern. Eine Aufgabe kann geändert werden, wenn sie nicht ausgeführt wird und der Status „Laden abgeschlossen“ lautet. Klicken Sie auf Ändern um eine Aufgabe zu ändern, wie in Abbildung 34 gezeigt.
Abbildung 34: Ändern
Die Aufgabe ändern Dialog wird gestartet. Obwohl unterschiedlicher Migrationstyp s aufgeführt sind, wie in Abbildung 35 gezeigt, kann der Migrationstyp zu diesem Zeitpunkt nicht geändert werden. Die Standardeinstellung ist „Vorhandene Daten migrieren.“
Abbildung 35: Aufgabe ändern
Die Aufgabeneinstellungen wie in Fig. 36 gezeigt, kann modifiziert werden. Klicken Sie auf Erweiterte Einstellungen um erweiterte Einstellungen zu ändern.
Abbildung 36: Aufgabeneinstellungen
In den erweiterten Einstellungen die Steuerungstabelle Einstellungen können geändert werden, wie in Abbildung 37 gezeigt.
Abbildung 37: Steuertabelleneinstellungen
Die Tuning-Einstellungen kann modifiziert werden, wie in Abbildung 38 gezeigt.
Abbildung 38: Tuning-Einstellungen
Um eine Transformationsregel hinzuzufügen, klicken Sie auf Transformationsregel hinzufügen , wie in Abbildung 39 gezeigt.
Abbildung 39: Transformationsregel hinzufügen
In Transformationsregeln , wählen Sie das Ziel aus für die Transformation als Tabelle , wie in Abbildung 40 gezeigt. Wählen Sie Schemaname ist als DVOHRA. Geben Sie Tabellenname ist wie an als % . Wählen Sie Aktion aus als Präfix hinzufügen , als Beispiel.
Abbildung 40: Umwandlungsregeln hinzufügen
Geben Sie das Tabellenpräfix an, das jeder migrierten Tabelle hinzugefügt werden soll (siehe Abbildung 41). Klicken Sie auf Transformationsregel hinzufügen .
Abbildung 41: Transformationsregel hinzufügen
Klicken Sie auf Ändern , wie in Abbildung 42 gezeigt.
Abbildung 42: Ändern
In Aufgabe starten , wählen Sie Neu starten und klicken Sie auf Aufgabe starten , wie in Abbildung 43 gezeigt.
Abbildung 43: Aufgabe starten
Der Aufgabenstatus wird zu Ändern , wie in Abbildung 44 gezeigt.
Abbildung 44: Ändern
Der Aufgabenstatus kann mit der Schaltfläche „Aktualisieren“ aktualisiert werden. Der Status wird zu Läuft , wie in Abbildung 45 gezeigt.
Abbildung 45: Aufgabe wird ausgeführt
Wenn die Ausführung der Aufgabe abgeschlossen ist, lautet der Status Laden abgeschlossen (siehe Abbildung 46).
Abbildung 46: Laden abgeschlossen
Anschließend listen Sie die Tabellen in MySQL auf. Neue Tabellen mit einem Präfix werden aufgelistet, wie in Abbildung 47 gezeigt.
Abbildung 47: Tabellen mit Präfix
Schlussfolgerung
In zwei Artikeln haben wir die Migration einer Oracle-Datenbank auf RDS zu einer MySQL-Datenbank auf RDS mit dem AWS Database Migration Service besprochen.