Verwendung von IBM Db2 für Linux-, Unix-, Windows- und RDS Amazon-Datenbank (Db2LUW) 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 von IBM Db2 für Linux-, Unix-, Windows- und RDS Amazon-Datenbank (Db2LUW) als Quelle für AWS DMS

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

Informationen zu Versionen von Db2 unter Linux, Unix und Windows, 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 LUW Db2-Endpunkt und der Replikationsinstanz zu verschlüsseln. Weitere Informationen zur Verwendung SSL mit einem LUW Db2-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 sind erforderlich, bevor Sie eine LUW Db2-Datenbank als Quelle verwenden können.

Gehen Sie wie folgt vor, um die fortlaufende Replikation, auch Change Data Capture (CDC) genannt, zu aktivieren:

  • 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

  • DB2erfordert eine SYSADM DBADM Autorisierung zum Extrahieren von Transaktionsprotokolldatensätzen. Erteilen Sie dem Benutzerkonto die folgenden Berechtigungen:

    • SYSADM oder DBADM

    • DATAACCESS

    Anmerkung

    Für Aufgaben, die nur Volllast ausführen, benötigt das DMS Benutzerkonto eine DATAACCESS entsprechende Genehmigung.

  • Wenn Sie LUW Version 9.7 als Quelle verwenden IBMDB2, legen Sie das zusätzliche Verbindungsattribut (ECA) CurrentLSN wie folgt fest:

    CurrentLSN=LSNwo LSN gibt eine Protokollsequenznummer (LSN) an, bei der die Replikation beginnen soll. Oder CurrentLSN=scan.

  • Wenn Sie Amazon RDS for Db2 LUW als Quelle verwenden, stellen Sie sicher, dass die Archivprotokolle für verfügbar sind. AWS DMS Da AWS-managed Db2-Datenbanken die Archivprotokolle so schnell wie möglich löschen, sollten Sie den Zeitraum, für den die Protokolle verfügbar bleiben, verlängern. Um beispielsweise die Aufbewahrung von Protokollen auf 24 Stunden zu erhöhen, führen Sie den folgenden Befehl aus:

    db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"

    Weitere Informationen zu Amazon RDS for LUW Db2-Prozeduren finden Sie in der Amazon RDS for Db2-Referenz für gespeicherte Prozeduren im Amazon Relational Database Service User Guide.

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 LUW für jeden Endpunkt eines Clusters ein separates Db2 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 LUW Db2-Quelldatenbank nicht.

Bei Verwendung der laufenden 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. Das liegt daran, dass Db2 DDL für jede LUW Partition eine separate Aufzeichnung 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 Disaster Recovery (HADR) -Standby-Instance mit DB2 hoher Verfügbarkeit. Auf die Standby-Instance kann nicht zugegriffen werden.

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

  • Die RENAME COLUMN Anweisung wird nicht unterstützt.

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

  • Wenn die Aufgabeneinstellung LOBSpalten in Replikation einbeziehen nicht aktiviert ist, wird jede Tabelle, die LOB Spalten enthält, während der laufenden Replikation angehalten.

  • Bei LUW Db2-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 und erstellt wurden. VARCHAR VARGRAPHIC Verschieben Sie die Tabelle in einen Tabellenbereich mit einer höheren Seitengröße, um diese Einschränkung zu umgehen. Weitere Informationen finden Sie unter Was kann ich tun, wenn ich die Seitengröße von DB2 Tablespaces ändern möchte?

  • Unterstützt bei laufender Replikation DMS nicht die Migration von Daten, die vom Hilfsprogramm auf Seitenebene geladen wurden. DB2 LOAD Verwenden Sie stattdessen das IMPORT Hilfsprogramm, das SQL Einfügungen verwendet. Weitere Informationen finden Sie unter Differences between the import and load utilities.

  • DMSErfasst während der Ausführung einer Replikationsaufgabe CREATE TABLE DDLs nur, ob die Tabellen mit dem DATA CAPTURE CHANGE Attribut erstellt wurden.

  • DMShat bei der Verwendung der Db2-Datenbankpartitionsfunktion (DPF) die folgenden Einschränkungen:

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

    • DMSkann lokale Transaktionen von jedem Db2-Knoten im DPF Cluster erfassen, indem die Einstellung connectNode 1 auf mehrere DMS Quellendpunkte 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. DMSwendet jede lokale Transaktion unabhängig auf das Ziel an, ohne Koordination mit Transaktionen auf anderen Db2-Knoten. Diese unabhängige Verarbeitung kann zu Komplikationen führen, insbesondere wenn Zeilen zwischen Partitionen verschoben werden.

    • Bei DMS Replikationen von mehreren Db2-Knoten gibt es keine Garantie für die korrekte Reihenfolge der Operationen auf dem Ziel, da die Operationen für jeden Db2-Knoten unabhängig DMS angewendet werden. 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 Aufgaben auszuführenCDC, die nur für das Programm vorgesehen sind. Es wird empfohlen, eine Aufgabe pro DB2-Knoten auszuführen, beginnend mit dem Zeitstempel für den Volllast-Start oder LRI (Protokolldatensatz-ID), den Sie mit der Endpunkteinstellung festgelegt haben. StartFromContext Informationen zur Bestimmung Ihres Replikationsstartpunkts finden Sie in der IBMSupport-Dokumentation unter Finden des LRI Werts LSN oder für den Replikationsstart.

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

  • Unterstützt derzeit DMS nicht das pureScale Db2-Feature, eine Erweiterung, mit der DB2 LUW Sie Ihre Datenbanklösung skalieren können.

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

Sie können Endpunkteinstellungen verwenden, um Ihre LUW Db2-Quelldatenbank ähnlich wie bei der Verwendung zusätzlicher Verbindungsattribute zu konfigurieren. Sie geben die Einstellungen an, wenn Sie den Quellendpunkt mithilfe der AWS DMS Konsole erstellen, oder indem Sie den create-endpoint Befehl in AWS CLI, mit der --ibm-db2-settings '{"EndpointSetting": "value", ...}' JSON Syntax verwenden.

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

Name Beschreibung

CurrentLSN

Geben Sie bei laufender Replikation (CDC) eine Protokollsequenznummer (LSN) an, mit der die Replikation beginnen soll. CurrentLSN

MaxKBytesPerRead

Maximale Anzahl von Byte pro Lesevorgang als NUMBER Wert. Der Standardwert ist 64 KB.

SetDataCaptureChanges

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

StartFromContext

Geben Sie bei laufender Replikation (CDC) StartFromContext den unteren Grenzwert eines Protokolls an, ab dem die Replikation gestartet werden soll. StartFromContextakzeptiert verschiedene Formen von Werten. Gültige Werte sind:

  • timestamp(UTC). Beispielsweise:

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

    Bei IBM DB2 LUW Version 10.5 und höher wird die Aufgabe in NOW Kombination mit CurrentLSN: scan von der neuesten Version gestartetLSO. Beispielsweise:

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

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

Um den LSN BereichLRI/einer Protokolldatei zu ermitteln, führen Sie den db2flsn Befehl 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. LOGund der StartFromContextLRIWert sind die 34 Byte am Ende des Bereichs.

0100000000000022CC000000000004FB13

Quelldatentypen für IBM Db2 LUW

Datenmigration, die Db2 LUW als Quelle für verwendet, AWS DMS unterstützt die meisten LUW Db2-Datentypen. Die folgende Tabelle zeigt die LUW Db2-Quelldatentypen, die bei der Verwendung unterstützt werden, AWS DMS sowie die Standardzuweisung von AWS DMS Datentypen. Weitere Informationen zu LUW Db2-Datentypen finden Sie in der LUWDb2-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

LUWDb2-Datentypen

AWS DMS Datentypen

INTEGER

INT4

SMALLINT

INT2

BIGINT

INT8

DECIMAL(p, s)

NUMERIC(p, s)

FLOAT

REAL8

DOUBLE

REAL8

REAL

REAL4

DECFLOAT(p)

Wenn die Genauigkeit 16 ist, dannREAL8; wenn die Genauigkeit 34 ist, dann STRING

GRAPHIC(n)

WSTRING, für Grafikketten fester Länge aus Doppelbyte-Zeichen mit einer Länge größer als 0 und kleiner oder gleich 127

VARGRAPHIC(n)

WSTRING, für Grafikzeichenketten unterschiedlicher Länge mit einer Länge von mehr als 0 und weniger als oder gleich 16.352 Doppelbyte-Zeichen

LONGVARGRAPHIC(n)

CLOB, für Grafikzeichenketten unterschiedlicher Länge mit einer Länge von mehr als 0 und weniger als oder gleich 16.352 Doppelbyte-Zeichen

CHARACTER(n)

STRING, für Zeichenketten fester Länge aus Doppelbyte-Zeichen mit einer Länge größer als 0 und kleiner oder gleich 255

VARCHAR(n)

STRING, für Zeichenketten unterschiedlicher Länge aus Doppelbyte-Zeichen mit einer Länge größer als 0 und kleiner oder gleich 32.704

LONGVARCHAR(n)

CLOB, für Zeichenketten unterschiedlicher Länge aus Doppelbyte-Zeichen mit einer Länge größer als 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

DATE

DATE

TIME

TIME

TIMESTAMP

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