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
undLOGARCHMETH2
aufON
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
oderDBADM
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=
woLSN
gibt eine Protokollsequenznummer (LSN) an, bei der die Replikation beginnen soll. OderLSN
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 '{"
JSON Syntax verwenden.EndpointSetting"
:
"value"
, ...
}'
Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit Db2 LUW als Quelle verwenden können.
Name | Beschreibung |
---|---|
|
Geben Sie bei laufender Replikation (CDC) eine Protokollsequenznummer (LSN) an, mit der die Replikation beginnen soll. |
|
Maximale Anzahl von Byte pro Lesevorgang als NUMBER Wert. Der Standardwert ist 64 KB. |
|
Aktiviert die laufende Replikation (CDC) als BOOLEAN Wert. Der Standardwert ist „true“. |
|
Geben Sie bei laufender Replikation (CDC)
Um den LSN BereichLRI/einer Protokolldatei zu ermitteln, führen Sie den
Die Ausgabe sieht bei diesem Beispiel in etwa wie folgt aus.
In dieser Ausgabe lautet die Protokolldatei S0000002. LOGund der StartFromContextLRIWert sind die 34 Byte am Ende des Bereichs.
|
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 |