Migrieren Sie eine Db2-Datenbank von Amazon EC2 zu Aurora My SQL -Compatible mithilfe von AWS DMS - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrieren Sie eine Db2-Datenbank von Amazon EC2 zu Aurora My SQL -Compatible mithilfe von AWS DMS

Erstellt von Pinesh Singal () AWS

Umgebung: PoC oder Pilotprojekt

Quelle: IBM Db2 auf Amazon EC2

Ziel: Amazon Aurora My SQL -Compatible Edition

R-Typ: Re-Architect

Arbeitsaufwand: IBM

Technologien: Migration; Datenbanken

AWSDienstleistungen: AWSDMS; AmazonEC2; AWSSCT; Amazon Aurora

Übersicht

Nachdem Sie Ihre LUWDatenbank IBM Db2 for auf Amazon Elastic Compute Cloud (AmazonEC2) migriert haben, sollten Sie erwägen, die Datenbank neu zu strukturieren, indem Sie zu einer Cloud-nativen Amazon Web Services (AWS) Datenbank wechseln. Dieses Muster behandelt die Migration einer IBM Db2 for LUW Datenbank, die auf einer EC2Amazon-Instance ausgeführt wird, zu einer Amazon Aurora My SQL -Compatible Edition-Datenbank auf. AWS  

Das Muster beschreibt eine Online-Migrationsstrategie mit minimalen Ausfallzeiten für eine Db2-Quelldatenbank mit mehreren Terabyte und einer hohen Anzahl von Transaktionen. 

Dieses Muster verwendet das AWSSchema Conversion Tool (AWSSCT), um das Db2-Datenbankschema in ein Aurora My SQL -kompatibles Schema zu konvertieren. Dann verwendet das Muster AWSDatabase Migration Service (AWSDMS), um Daten von der Db2-Datenbank zur Aurora My SQL -Compatible-Datenbank zu migrieren. Für den Code, der nicht konvertiert wurde, sind manuelle Konvertierungen erforderlich. AWS SCT

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS Konto mit einer virtuellen privaten Cloud (VPC)

  • AWS SCT

  • AWS DMS

Produktversionen

  • AWSSCTneueste Version

  • Db2 für Linux Version 11.1.4.4 und höher

Architektur

Quelltechnologie-Stack

  • DB2/Linux x86-64 Bit ist auf einer Instanz gemountet EC2 

Zieltechnologie-Stack

  • Eine Amazon Aurora My SQL -Compatible Edition-Datenbank-Instance

Quell- und Zielarchitektur

Das folgende Diagramm zeigt die Datenmigrationsarchitektur zwischen den Db2-Quelldatenbanken und den Aurora My SQL -kompatiblen Zieldatenbanken. Die Architektur in der AWS Cloud umfasst eine virtuelle private Cloud (VPC) (Virtual Private Cloud), eine Availability Zone, ein öffentliches Subnetz für die Db2-Instanz und die AWS DMS Replikationsinstanz sowie ein privates Subnetz für die Aurora My SQL -Compatible-Datenbank.

Architektur der Datenmigration zwischen Db2-Quelldatenbanken und Aurora My SQL -kompatiblen Zieldatenbanken.

Tools

AWSDienste

  • Amazon Aurora ist eine vollständig verwaltete relationale Datenbank-Engine, die für die Cloud entwickelt wurde und mit My SQL und SQL Postgre kompatibel ist.

  • AWSDer Database Migration Service (AWSDMS) unterstützt Sie bei der Migration von Datenspeichern in die AWS Cloud oder zwischen Kombinationen von Cloud- und lokalen Setups.

  • Amazon Elastic Compute Cloud (AmazonEC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren.

  • AWSDas Schema Conversion Tool (AWSSCT) unterstützt heterogene Datenbankmigrationen, indem es das Quelldatenbankschema und einen Großteil des benutzerdefinierten Codes automatisch in ein Format konvertiert, das mit der Zieldatenbank kompatibel ist. AWSSCTunterstützt als Quelle IBM Db2 für die LUW Versionen 9.1, 9.5, 9.7, 10.1, 10.5, 11.1 und 11.5.

Bewährte Methoden

Bewährte Methoden finden Sie unter Bewährte Methoden für den AWS Database Migration Service.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die IBM Db2-Datenbank auf AmazonEC2.

Sie können eine IBM Db2-Datenbank auf einer EC2 Instance erstellen, indem Sie ein Amazon Machine Image (AMI) von AWS Marketplace verwenden oder indem Sie Db2-Software auf einer EC2 Instance installieren.

Starten Sie eine EC2 Instance, indem Sie eine AMI für IBM Db2 auswählen (z. B. IBMDb2 v11.5.7 RHEL 7.9), die einer lokalen Datenbank ähnelt.

DBA, Allgemein AWS

Konfigurieren Sie Sicherheitsgruppen.

Konfigurieren Sie die Regeln für eingehende VPC Sicherheitsgruppen für SSH (Secure Shell) und TCP mit Port 22 bzw. 50000.

Allgemein AWS

Erstellen Sie die Datenbankinstanz.

Erstellen Sie eine neue Instanz (Benutzer) und Datenbank (Schema), oder verwenden Sie die db2inst1 Standardinstanz und Beispieldatenbank.

  1. Stellen Sie eine Verbindung mit der EC2 Instanz her, indem Sie das Terminal verwenden, um eine Verbindung zur Db2-Datenbank herzustellen. Alternativ können Sie eine beliebige DB-Client-Software installieren, die eine Verbindung zur Db2-Datenbank herstellt.

  2. Führen Sie den Befehl aus, um das Passwort des db2inst1-Benutzers festzulegen. sudo passwd db2inst1

  3. Führen Sie den Befehl aus, um eine Verbindung mit der db2inst1-Instanz herzustellen. sudo su - db2inst1

  4. Führen Sie den Befehl aus, um eine Verbindung mit der Db2-Datenbank herzustellen. db2

  5. Verwenden Sie den Befehlconnect to sample, um eine Verbindung mit der Beispieldatenbank herzustellen. Stellen Sie alternativ eine Verbindung zu der Datenbank her, die Sie erstellt haben.

  6. Nachdem Sie eine Verbindung mit der Datenbankinstanz hergestellt haben, erstellen Sie Objekte und fügen Sie mithilfe von SQL Db2-Anweisungen Daten in diese Objekte ein.

DBA

Stellen Sie sicher, dass die Db2-DB-Instance verfügbar ist.

Verwenden Sie den Befehl, um zu bestätigen, dass die Db2-Datenbank-Instance betriebsbereit ist. Db2pd -

DBA
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie die Aurora My SQL -Compatible Datenbank.

Erstellen Sie eine Amazon Aurora with My SQL Compatibility Database aus dem AWS RDS Service

  • Erstellen Sie eine Datenbank auf Amazon Aurora mit SQL Kompatibilität und Version Ihrer Wahl, z. B. Aurora (MySQL) —5.6.10a

  • Installieren Sie die My SQL Workbench-Anwendung oder Ihre bevorzugte DB-Client-Software, mit der Sie eine Verbindung zu My Database herstellen können SQL

DBA, Allgemein AWS

Konfigurieren Sie Sicherheitsgruppen.

Konfigurieren Sie die VPC Sicherheitsgruppenregeln für eingehende TCP Verbindungen SSH und Verbindungen.

Allgemein AWS

Vergewissern Sie sich, dass die Aurora-Datenbank verfügbar ist.

Gehen Sie wie folgt vor, um sicherzustellen, dass die Aurora My SQL -Compatible-Datenbank betriebsbereit ist:

  1. Stellen Sie über Connect zur EC2 Instanz herSSH.

  2. Konfigurieren Sie die Aurora My SQL -Compatible Instance von My SQL Workbench aus und stellen Sie eine Verbindung zu ihr her. Verwenden Sie den Endpunkt als Hostnamen, wie im folgenden Beispiel gezeigt.

     mysql-cluster-instance-1.cokmvis0v46q.us-east-1.rds.amazonaws.com
  3. Erstellen Sie das neue Schema und stellen Sie eine Verbindung zu diesem her (z. B.mysql-sample-db2).

  4. Führen Sie die SQL My-Anweisungen aus, um die Schemas und Objekte in der Datenbank zu überprüfen.

DBA
AufgabeBeschreibungErforderliche Fähigkeiten

Installieren AWSSCT.

Laden Sie die neueste Version von herunter und installieren Sie sie AWSSCT(die aktuelle neueste Version 1.0.628).

Allgemein AWS

Konfigurieren AWSSCT.

  1. Laden Sie die Java Database Connectivity (JDBC) -Treiber für IBM Db2 (Version 4.22.X) und My SQL (8.x) herunter.

  2. Um die Treiber zu konfigurieren AWSSCT, wählen Sie Einstellungen, Allgemeine Einstellungen, Treiber.

Allgemein AWS

Erstellen Sie ein AWS SCT Projekt.

Erstellen Sie ein AWS SCT Projekt und einen Bericht, der Db2 for LUW als Quell-DB-Engine und Aurora My SQL -Compatible für die Ziel-DB-Engine verwendet.

Informationen zu den Rechten, die für die Verbindung mit einer LUW Db2-Datenbank erforderlich sind, finden Sie unter Verwenden von Db2 LUW als Quelle für. AWS SCT

Allgemein AWS

Validieren Sie die Objekte.

Wählen Sie Schema laden und validieren Sie die Objekte. Aktualisieren Sie alle falschen Objekte in der Zieldatenbank:

  1. Connect zum Amazon Aurora My SQL -Compatible-Server her, indem Sie die Verbindungsdetails angeben, und wählen Sie Verbindung testen.

    Sowohl Quell- als auch Zielverbindungen müssen erfolgreich sein, bevor der Migrationsbericht gestartet werden AWS SCT kann.

  2. Geben Sie nach Abschluss des Berichts das zu konvertierende Schema ein und klicken Sie auf Fertig stellen.

    AWSSCTlistet alle Quell- und Zielobjekte auf, die konvertiert wurden und Fehler aufweisen.

  3. Überprüfen Sie die Fehler und löschen Sie sie manuell.

  4. Nachdem alle Fehler behoben wurden, öffnen Sie das Kontextmenü (Rechtsklick) für das Schema und wählen Sie Schema laden.

  5. Wählen Sie Auf Datenbank anwenden.

  6. Stellen Sie in My SQL Workbench eine Verbindung zur Aurora My SQL -Compatible-Datenbank her und überprüfen Sie das Schema und die Objekte.

DBA, Allgemein AWS
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie eine Replikationsinstanz.

Melden Sie sich bei der AWS Management Console an, navigieren Sie zum AWS DMS Dienst und erstellen Sie eine Replikationsinstanz mit gültigen Einstellungen für die VPC Sicherheitsgruppe, die Sie für die Quell- und Zieldatenbank konfiguriert haben.

Allgemein AWS

Endpunkte erstellen.

Erstellen Sie den Quellendpunkt für die Db2-Datenbank und den Zielendpunkt für die Aurora My SQL -Compatible-Datenbank:

  1. Erstellen Sie einen Endpunkt für IBM Db2 als Quelle, indem Sie RDS DB-Instance auswählen und dann die von Ihnen erstellte Db2-Instance auswählen. Die Konfigurationsdetails für den Endpunkt werden automatisch ausgefüllt.

  2. Fügen Sie in den endpunktspezifischen Einstellungen die folgenden zusätzlichen Verbindungsattribute hinzu.

    CurrentLSN=<scan>; MaxKBytesPerRead=64; SetDataCaptureChanges=true

    Wenn Sie diese Attribute nicht angeben, ist die Testverbindung zum Quellendpunkt nicht erfolgreich. Weitere Informationen finden Sie unter Verwenden von IBM Db2 LUW als Quelle für AWS DMS.

  3. Erstellen Sie einen Endpunkt für Aurora My SQL -Compatible als Ziel, indem Sie Select RDS DB Instance und dann die Aurora My SQL -Compatible Instance auswählen, die Sie erstellt haben. Die Konfigurationsdetails für den Endpunkt werden automatisch ausgefüllt. Weitere Informationen finden Sie unter Verwenden einer My SQL -kompatiblen Datenbank als Ziel für den AWS Database Migration Service.

  4. Testen Sie die Quell- und Zielendpunkte. Stellen Sie sicher, dass beide erfolgreich und verfügbar sind

  5. Wenn der Test fehlschlägt, stellen Sie sicher, dass die Regeln für eingehende Zugriffe in der Sicherheitsgruppe gültig sind.

Allgemein AWS

Erstellen Sie Migrationsaufgaben.

Erstellen Sie eine einzelne Migrationsaufgabe oder mehrere Migrationsaufgaben für Volllast CDC und/oder Datenvalidierung:

  1. Um eine Datenbankmigrationsaufgabe zu erstellen, wählen Sie die Replikationsinstanz, den Quelldatenbankendpunkt und den Zieldatenbankendpunkt aus. Geben Sie den Migrationstyp als Vorhandene Daten migrieren (Volllast), Nur Datenänderungen replizieren (CDC) oder Vorhandene Daten migrieren und laufende Änderungen replizieren (Volllast undCDC) an.

  2. Unter Tabellenzuordnungen können Sie Auswahlregeln und Transformationsregeln in Oder-Formaten konfigurieren. GUI JSON

  3. Wählen Sie unter Auswahlregeln das Schema aus, geben Sie den Tabellennamen ein und wählen Sie Aktion (Einschließen/Ausschließen) aus, die konfiguriert werden soll (z. B. Schema:SAMPLE; Tabellenname:%, Aktion: Einschließen).

  4. Wählen Sie unter Transformationsregeln das Ziel aus (Schema, Tabelle oder Spalte). Wählen Sie den Schemanamen und dann die Aktion (Groß- und Kleinschreibung, Präfix, Suffix) aus, z. B. Ziel: Schemamysql-sample-db; Aktion: Kleinbuchstaben.

  5. Aktivieren Sie die Amazon CloudWatch Logs-Überwachung.

Allgemein AWS

Planen Sie den Produktionslauf.

Lassen Sie sich von Stakeholdern wie Anwendungseigentümern über Ausfallzeiten AWS DMS bei der Ausführung in Produktionssystemen beraten.

Leiter der Migration

Führen Sie die Migrationsaufgaben aus.

  1. Starten Sie die AWS DMS Aufgabe mit dem Status Bereit.

  2. Überwachen Sie die Protokolle der Migrationsaufgaben in Amazon CloudWatch Logs auf Fehler.

Allgemein AWS

Validieren Sie die Daten.

Überprüfen Sie die Ergebnisse und Daten der Migrationsaufgaben in der Quelldatenbank Db2 und im Zielverzeichnis Meine SQL Datenbanken:

  1. Wenn der Status Load complete running replication lautet, ist der vollständige Ladevorgang mit der CDC Datenmigration abgeschlossen und die Validierung läuft.

  2. Connect zur Aurora My SQL -Compatible-Datenbank her und überprüfen Sie die Daten.

  3. Überprüfen Sie die laufenden Änderungen, indem Sie Daten in die Db2-Datenbank einfügen oder aktualisieren.

DBA

Beenden Sie die Migrationsaufgaben.

Nachdem die Datenvalidierung erfolgreich abgeschlossen wurde, beenden Sie die Validierungsmigrationsaufgaben.

Allgemein AWS

Fehlerbehebung

ProblemLösung

AWSSCTQuell- und Zieltestverbindungen schlagen fehl.

Konfigurieren Sie JDBC Treiberversionen und Regeln für eingehende VPC Sicherheitsgruppen, um den eingehenden Datenverkehr zu akzeptieren.

Der Testlauf für den Db2-Quellendpunkt schlägt fehl.

Konfigurieren Sie die zusätzliche VerbindungseinstellungCurrentLSN=<scan>;.

Die AWSDMS Aufgabe kann keine Verbindung zur Db2-Quelle herstellen, und der folgende Fehler wird zurückgegeben.

database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON

Führen Sie die folgenden Befehle aus, um den Fehler zu vermeiden:

  1. $ db2 update db cfg for sample using LOGARCHMETH1 DISK:/home/db2inst1/logs

  2. $ db2stop

  3. $ db2start

  4. $ db2 connect to sample

    SQL1116N A connection to or activation of database "SAMPLE" cannot be made because of BACKUP PENDING.  SQLSTATE=57019
  5. $ db2 backup database sample to ../logs

    SQL2036N The path for the file or device "../logs" is not valid
  6. $ cd

  7. $ pwd

     /home/db2inst1
  8. $ mkdir /tmp/backup

  9. $ db2 backup database sample to /tmp/backup

    Backup successful. The timestamp for this backup image is : 20190530084921
  10. $ db2 connect to sample

    Database Connection Information Database server = DB2/LINUX 9.7.1 SQL authorization ID = DB2INST1 Local database alias = SAMPLE

Zugehörige Ressourcen

Amazon EC2

Datenbanken

AWS SCT

AWS DMS