Verwendung der IBM Db2 für Linux-, Unix-, Windows- und Amazon RDS-Datenbank (Db2 LUW) als Quelle für AWS DMS - AWS Database Migration Service

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.

Verwendung der IBM Db2 für Linux-, Unix-, Windows- und Amazon RDS-Datenbank (Db2 LUW) als Quelle für AWS DMS

Mit AWS Database Migration Service () können Sie Daten von einer IBM Db2 for Linux-, Unix-, Windows- und Amazon RDS-Datenbank (Db2 LUW) in jede unterstützte Zieldatenbank migrieren.AWS DMS

Informationen zu Versionen von Db2 unter Linux, Unix, Windows und RDS, die als Quelle AWS DMS unterstützt werden, finden Sie unter. Quellen für AWS DMS

Sie können Secure Sockets Layer (SSL) verwenden, um Verbindungen zwischen Ihrem Db2 LUW-Endpunkt und der Replikations-Instance zu verschlüsseln. Weitere Informationen zur Verwendung von SSL mit einem Db2 LUW-Endpunkt finden Sie unter Verwenden von SSL mit AWS Database Migration Service.

Voraussetzungen für die Verwendung von Db2 LUW als Quelle für AWS DMS

Die folgenden Voraussetzungen müssen erfüllt sein, damit Sie eine Db2 LUW-Datenbank als Quelle verwenden können.

Zum Aktivieren einer fortlaufenden Replikation, auch als Change Data Capture (CDC) bezeichnet, gehen Sie wie folgt vor:

  • Stellen Sie die Datenbank so ein, dass sie wiederherstellbar ist. AWS DMS Dazu müssen Änderungen erfasst werden. Eine Datenbank ist wiederherstellbar, wenn einer oder beide der Datenbank-Konfigurationsparameter LOGARCHMETH1 und LOGARCHMETH2 auf ON gesetzt sind.

    Wenn Ihre Datenbank wiederherstellbar ist, AWS DMS können Sie bei Bedarf auf Db2 zugreifen. ARCHIVE LOG

  • Stellen Sie sicher, dass die DB2-Transaktionsprotokolle verfügbar sind und über einen ausreichenden Aufbewahrungszeitraum verfügen, bis zu dem sie verarbeitet werden können. AWS DMS

  • DB2 erfordert eine SYSADM- oder DBADM-Autorisierung zum Extrahieren von Transaktionsprotokoll-Datensätzen. Erteilen Sie dem Benutzerkonto die folgenden Berechtigungen:

    • SYSADM oder DBADM

    • DATAACCESS

    Anmerkung

    Für reine Volllast-Aufgaben benötigt das DMS-Benutzerkonto die Berechtigung DATAACCESS.

  • Wenn Sie IBM DB2 für LUW Version 9.7 als Quelle verwenden, legen Sie das zusätzliche Verbindungsattribut (Extra Connection Attribute, ECA) CurrentLSN wie folgt fest:

    CurrentLSN=LSN, wobei LSN eine Protokoll-Sequenznummer (Log Sequence Number, LSN) angibt, bei der die Replikation beginnen soll. Oder CurrentLSN=scan.

Einschränkungen bei der Verwendung von Db2 LUW als Quelle für AWS DMS

AWS DMS unterstützt keine geclusterten Datenbanken. Sie können jedoch für jeden der Endpunkte eines Clusters eine separate Db2 LUW definieren. Sie können beispielsweise eine Volllast-Migrationsaufgabe mit einem beliebigen Knoten im Cluster erstellen und dann für jeden Knoten separate Aufgaben erstellen.

AWS DMS unterstützt den BOOLEAN Datentyp in Ihrer Db2-LUW-Quelldatenbank nicht.

Bei der Verwendung der fortlaufenden Replikation (CDC) gelten die folgenden Einschränkungen:

  • Wenn eine Tabelle mit mehreren Partitionen gekürzt wird, entspricht die Anzahl der in der AWS DMS Konsole angezeigten DDL-Ereignisse der Anzahl der Partitionen. Der Grund hierfür ist, dass Db2 LUW eine separate DDL für jede Partition aufzeichnet.

  • Die folgenden DDL-Aktionen werden für partitionierte Tabellen nicht unterstützt:

    • ALTER TABLE ADD PARTITION

    • ALTER TABLE DETACH PARTITION

    • ALTER TABLE ATTACH PARTITION

  • AWS DMS unterstützt keine laufende Replikationsmigration von einer DB2 High Availability Disaster Recovery (HADR) -Standby-Instanz. Auf die Standby-Instance kann nicht zugegriffen werden.

  • Der Datentyp DECFLOAT wird nicht unterstützt. Folglich werden Änderungen an DECFLOAT-Spalten während der fortlaufenden Replikation ignoriert.

  • Die Anweisung RENAME COLUMN wird nicht unterstützt.

  • Bei Aktualisierungen von MDC-Tabellen (Multi-Dimensional Clustering) wird jedes Update in der AWS DMS Konsole als INSERT + DELETE angezeigt.

  • Wenn die Aufgabeneinstellung Include LOB columns in replication (LOB-Spalten in Replikation einschließen) nicht aktiviert ist, werden alle Tabellen mit LOB-Spalten während der fortlaufenden Replikation gesperrt.

  • Bei Db2 LUW-Versionen 10.5 und höher werden Zeichenkettenspalten variabler Länge mit gespeicherten Daten ignoriert. out-of-row Diese Einschränkung gilt nur für Tabellen, die mit erweiterter Zeilengröße für Spalten mit Datentypen wie VARCHAR und VARGRAPHIC erstellt wurden. Verschieben Sie die Tabelle in einen Tabellenbereich mit einer höheren Seitengröße, um diese Einschränkung zu umgehen. Weitere Informationen finden Sie unter What can I do if I want to change the pagesize of DB2 tablespaces?.

  • Bei der laufenden Replikation unterstützt DMS nicht die Migration von Daten, die vom DB2-LOAD-Hilfsprogramm auf Seitenebene geladen wurden. Verwenden Sie stattdessen das IMPORT-Hilfsprogramm, das SQL-Inserts nutzt. Weitere Informationen finden Sie unter Differences between the import and load utilities.

  • Während der Ausführung einer Replikationsaufgabe erfasst DMS CREATE TABLE DDLs nur, wenn die Tabellen mit dem Attribut DATA CAPTURE CHANGE erstellt wurden.

  • Bei der Verwendung des Db2-Datenbankpartitionsfeatures (DPF) gelten für DMS die folgenden Einschränkungen:

    • DMS kann in einer DPF-Umgebung keine Transaktionen zwischen Db2-Knoten koordinieren. Dies ist auf Einschränkungen innerhalb der IBM DB2READLOG API-Schnittstelle zurückzuführen. In DPF können sich Transaktionen über mehrere Db2-Knoten erstrecken, je nachdem, wie DB2 die Daten partitioniert. Daher muss Ihre DMS-Lösung Transaktionen von jedem Db2-Knoten unabhängig voneinander erfassen.

    • DMS kann lokale Transaktionen von jedem Db2-Knoten im DPF-Cluster erfassen, indem die Einstellung 1 auf mehrere DMS-Quellendpunkte connectNode gesetzt wird. Diese Konfiguration entspricht den logischen Knotennummern, die in der DB2-Serverkonfigurationsdatei definiert sind. db2nodes.cfg

    • Lokale Transaktionen auf einzelnen Db2-Knoten können Teil einer größeren, globalen Transaktion sein. DMS wendet jede lokale Transaktion unabhängig auf dem Ziel an, ohne dass dies mit Transaktionen auf anderen Db2-Knoten koordiniert wird. Diese unabhängige Verarbeitung kann zu Komplikationen führen, insbesondere wenn Zeilen zwischen Partitionen verschoben werden.

    • Wenn DMS von mehreren Db2-Knoten aus repliziert, gibt es keine Garantie für die korrekte Reihenfolge der Operationen auf dem Ziel, da DMS Operationen unabhängig für jeden Db2-Knoten anwendet. Sie müssen sicherstellen, dass die Erfassung lokaler Transaktionen unabhängig von jedem Db2-Knoten für Ihren speziellen Anwendungsfall funktioniert.

    • Bei der Migration aus einer DPF-Umgebung empfehlen wir, zuerst eine Volllastaufgabe ohne zwischengespeicherte Ereignisse auszuführen und dann ausschließlich CDC-Aufgaben auszuführen. Es wird empfohlen, eine Aufgabe pro DB2-Knoten auszuführen, beginnend mit dem Full Load-Startzeitstempel oder LRI (Log Record Identifier), den Sie mit der Endpunkteinstellung festgelegt haben. StartFromContext Informationen zur Bestimmung Ihres Replikationsstartpunkts finden Sie in der IBM Support-Dokumentation unter Den LSN- oder LRI-Wert für den Replikationsstart ermitteln.

  • Wenn Sie bei einer laufenden Replikation (CDC) die Replikation ab einem bestimmten Zeitstempel starten möchten, müssen Sie das Verbindungsattribut StartFromContext auf den erforderlichen Zeitstempel setzen.

  • Derzeit unterstützt DMS das Feature Db2 pureScale nicht. Dabei handelt es sich um eine Erweiterung von DB2 LUW, mit der Sie Ihre Datenbanklösung skalieren können.

  • AWS DMS unterstützt CDC nicht, wenn Db2 für Amazon RDS als Quelle verwendet wird.

Endpunkteinstellungen bei Verwendung von Db2 LUW als Quelle für AWS DMS

Sie können Endpunkteinstellungen, ähnlich wie zusätzliche Verbindungsattribute, zum Konfigurieren Ihrer Db2-LUW-Quelldatenbank verwenden. Sie geben die Einstellungen an, wenn Sie den Quellendpunkt mithilfe der AWS DMS Konsole oder mithilfe des create-endpoint Befehls in AWS CLI, mit der --ibm-db2-settings '{"EndpointSetting": "value", ...}' JSON-Syntax erstellen.

Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit Db2 LUW als Quelle verwenden können.

Name Beschreibung

CurrentLSN

Verwenden Sie für die laufende Replikation (CDC) CurrentLSN, um eine Protokoll-Sequenznummer (Log Sequence Number, LSN) anzugeben, ab der die Replikation beginnen soll.

MaxKBytesPerRead

Maximale Anzahl von Bytes pro Lesezugriff als NUMBER-Wert. Der Standardwert ist 64 KB.

SetDataCaptureChanges

Aktiviert die fortlaufende Replikation (CDC) als BOOLEAN-Wert. Der Standardwert ist „true“.

StartFromContext

Verwenden Sie StartFromContext für die laufende Replikation (CDC), um die Untergrenze eines Protokolls anzugeben, bei der die Replikation beginnen soll. StartFromContext akzeptiert verschiedene Formen von Werten. Gültige Werte sind:

  • timestamp (UTC). Beispielsweise:

    '{"StartFromContext": "timestamp:2021-09-21T13:00:00"}'
  • NOW

    Für IBM DB2 LUW Version 10.5 und höher startet NOW in Kombination mit CurrentLSN: scan die Aufgabe vom neuesten LSO aus. Beispielsweise:

    '{"CurrentLSN": "scan", "StartFromContext": "NOW"}'
  • Ein spezifischer LRI. Beispielsweise:

    '{"StartFromContext": "0100000000000022CC000000000004FB13"}'

Um den LRI/LSN-Bereich einer Protokolldatei zu ermitteln, führen Sie den Befehl db2flsn wie im folgenden Beispiel gezeigt aus.

db2flsn -db SAMPLE -lrirange 2

Die Ausgabe sieht bei diesem Beispiel in etwa wie folgt aus.

S0000002.LOG: has LRI range 00000000000000010000000000002254000000000004F9A6 to 000000000000000100000000000022CC000000000004FB13

In dieser Ausgabe lautet die Protokolldatei S0000002.LOG und der StartFromContextLRI-Wert entspricht den 34 Byte am Ende des Bereichs.

0100000000000022CC000000000004FB13

Quelldatentypen für IBM Db2 LUW

Datenmigration, die Db2 LUW als Quelle verwendet, AWS DMS unterstützt die meisten Db2 LUW-Datentypen. Die folgende Tabelle zeigt die Db2-LUW-Quelldatentypen, die bei der Verwendung unterstützt werden, AWS DMS sowie die Standardzuweisung von Datentypen. AWS DMS Weitere Informationen über die Db2 LUW-Datentypen finden Sie in der Db2 LUW-Dokumentation.

Weitere Informationen zum Anzeigen des Datentyps, der im Ziel zugewiesen ist, finden Sie im Abschnitt für den Zielendpunkt, den Sie verwenden.

Weitere Informationen zu AWS DMS Datentypen finden Sie unter. Datentypen für den AWS Database Migration Service

Db2 LUW-Datentypen

AWS DMS Datentypen

INTEGER

INT4

SMALLINT

INT2

BIGINT

INT8

DECIMAL (p,s)

NUMERIC (p,s)

FLOAT

REAL8

DOUBLE

REAL8

REAL

REAL4

DECFLOAT (p)

Bei einer Genauigkeit von 16 wird REAL8 verwendet, bei einer Genauigkeit von 34 STRING.

GRAPHIC (n)

WSTRING für grafische Zeichenfolgen mit fester Länge und dem Typ Doppelbyte-Zeichen mit einer Länge größer 0 und kleiner oder gleich 127

VARGRAPHIC (n)

WSTRING für grafische Zeichenfolgen mit variabler Länge und dem Typ Doppelbyte-Zeichen mit einer Länge größer 0 und kleiner oder gleich 16.352

LONG VARGRAPHIC (n)

CLOB für grafische Zeichenfolgen mit variabler Länge und dem Typ Doppelbyte-Zeichen mit einer Länge größer 0 und kleiner oder gleich 16.352

CHARACTER (n)

STRING für Zeichenfolgen mit fester Länge und dem Typ Doppelbyte-Zeichen mit einer Länge größer 0 und kleiner oder gleich 255

VARCHAR (n)

STRING für Zeichenfolgen mit variabler Länge und dem Typ Doppelbyte-Zeichen mit einer Länge größer 0 und kleiner oder gleich 32.704

LONG VARCHAR (n)

CLOB für Zeichenfolgen mit variabler Länge und dem Typ Doppelbyte-Zeichen mit einer Länge größer 0 und kleiner oder gleich 32.704

CHAR (n) FOR BIT DATA

BYTES

VARCHAR (n) FOR BIT DATA

BYTES

LONG VARCHAR FOR BIT DATA

BYTES

DATUM

DATUM

TIME

TIME

TIMESTAMP (ZEITSTEMPEL)

DATETIME

BLOB (n)

BLOB

Die maximale Länge beträgt 2.147.483.647 Byte.

CLOB (n)

CLOB

Die maximale Länge beträgt 2.147.483.647 Byte.

DBCLOB (n)

CLOB

Die maximale Länge beträgt 1.073.741.824 Doppelbyte-Zeichen.

XML

CLOB