Verwenden einer SAP ASE-Datenbank 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.

Verwenden einer SAP ASE-Datenbank als Quelle für AWS DMS

Sie können Daten aus einer Datenbank in SAP Adaptive Server Enterprise (ASE) – ehemals Sybase – mithilfe von AWS DMS migrieren. Mit einer SAP-ASE-Datenbank als Quelle können Sie Daten zu allen anderen unterstützten AWS DMS-Zieldatenbanken migrieren.

Informationen zu den Versionen von SAP ASE, die AWS DMS als Quelle unterstützt, finden Sie unter Quellen für AWS DMS.

Weitere Informationen zum Arbeiten mit SAP ASE-Datenbanken und AWS DMS finden Sie in den folgenden Abschnitten.

Voraussetzungen für die Verwendung einer SAP ASE-Datenbank als Quelle für AWS DMS

Um eine SAP ASE-Datenbank als Quelle für AWS DMS zu verwenden, gehen Sie wie folgt vor:

  • Aktivieren Sie die SAP ASE-Replikation für Tabellen mit dem Befehl sp_setreptable. Weitere Informationen finden Sie unter Sybase-Infocenter-Archiv.

  • Deaktivieren Sie RepAgent auf der SAP ASE-Datenbank. Weitere Informationen finden Sie unter Beenden und Deaktivieren des RepAgent-Threads in der Primärdatenbank.

  • Um auf einer für nicht-lateinische Zeichen (z. B. Chinesisch) konfigurierten Windows-EC2-Instance auf SAP ASE Version 15.7 zu replizieren, installieren Sie SAP ASE 15.7 SP121 auf dem Zielrechner.

Anmerkung

Für die laufende CDC-Replikation zur Erfassung von Datenänderungen (Change Data Capture, CDC) führt DMS dbcc logtransfer und dbcc log aus, um Daten aus dem Transaktionsprotokoll zu lesen.

Einschränkungen bei der Verwendung von SAP ASE als Quelle für AWS DMS

Die folgenden Einschränkungen gelten, wenn Sie eine SAP ASE-Datenbank als Quelle für AWS DMS verwenden:

  • Sie können für jede SAP-ASE-Datenbank nur eine AWS DMS-Aufgabe mit laufender Replikation oder CDC ausführen. Sie können mehrere reine Volllastaufgaben parallel ausführen.

  • Es ist nicht möglich, eine Tabelle umzubenennen. Beispielsweise schlägt der folgende Befehl fehl:

    sp_rename 'Sales.SalesRegion', 'SalesReg;
  • Es ist nicht möglich, eine Spalte umzubenennen. Beispielsweise schlägt der folgende Befehl fehl:

    sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
  • Nullwerte am Ende von Zeichenfolgen binären Datentyps werden gekürzt, wenn sie in der Zieldatenbank repliziert werden. Beispielsweise wird 0x0000000000000000000000000100000100000000 in der Quelltabelle zu 0x00000000000000000000000001000001 in der Zieltabelle.

  • Wenn die Datenbank standardmäßig keine NULL-Werte zulässt, erstellt AWS DMS die Zieltabelle mit Spalten, die keine NULL-Werte zulassen. Wenn also eine Volllast- oder CDC-Replikationsaufgabe leere Werte enthält, löst AWS DMS einen Fehler aus. Sie können diese Fehler verhindern, indem Sie mithilfe der folgenden Befehle NULL-Werte in der Quelldatenbank zulassen.

    sp_dboption database_name, 'allow nulls by default', 'true' go use database_name CHECKPOINT go
  • Der Indexbefehl reorg rebuild wird nicht unterstützt.

  • AWS DMS unterstützt weder Cluster noch die Verwendung von MSA (Multi-Site Availability)/Warm Standby als Quelle.

  • Wenn der Transformations-Header-Ausdruck AR_H_TIMESTAMP in Zuordnungsregeln verwendet wird, werden die Millisekunden für eine hinzugefügte Spalte nicht erfasst.

  • Das Ausführen von Zusammenführungsoperationen während CDC resultiert in einem Fehler, der nicht behoben werden kann. Führen Sie einen Volllastvorgang aus, um das Ziel wieder zu synchronisieren.

  • Rollback-Auslöser-Ereignisse werden für Tabellen, die ein Sperrschema für Datenzeilen verwenden, nicht unterstützt.

  • AWS DMS kann eine Replikationsaufgabe nicht fortsetzen, nachdem eine Tabelle innerhalb des Aufgabenbereichs aus einer SAP-Quelldatenbank gelöscht wurde. Wenn die DMS-Replikationsaufgabe angehalten und eine DML-Operation (INSERT, UPDATE, DELETE) ausgeführt und anschließend die Tabelle gelöscht wurde, müssen Sie die Replikationsaufgabe neu starten.

Erforderliche Berechtigungen für die Verwendung von SAP ASE als Quelle für AWS DMS

Um eine SAP-ASE-Datenbank als Quelle in einer AWS DMS-Aufgabe verwenden zu können, müssen Sie Berechtigungen erteilen. Erteilen Sie dem in den AWS DMS-Datenbankdefinitionen angegebenen Benutzerkonto die folgenden Berechtigungen in der SAP-ASE-Datenbank:

  • sa_role

  • replication_role

  • sybase_ts_role

  • Wenn Sie über die Berechtigung zum Ausführen der gespeicherten Prozedur sp_setreptable verfügen müssen, aktiviert AWS DMS standardmäßig die SAP-ASE-Replikationsoption. Wenn Sie sp_setreptable direkt vom Datenbankendpunkt aus und nicht über AWS DMS selbst für eine Tabelle ausführen möchten, können Sie das zusätzliche Verbindungsattribut enableReplication verwenden. Weitere Informationen finden Sie unter Endpunkteinstellungen bei Verwendung von SAP ASE als Quelle für AWS DMS.

Entfernen des Kürzungspunkts

Wenn eine Aufgabe gestartet wird, setzt AWS DMS einen $replication_truncation_point-Eintrag in die syslogshold-Systemansicht. Damit wird angezeigt, dass ein Replikationsprozess läuft. Während AWS DMS arbeitet, wird der Replikationskürzungspunkt in regelmäßigen Abständen weiter gesetzt, entsprechend der Menge der Daten, die bereits in das Ziel kopiert wurde.

Nachdem der Eintrag $replication_truncation_point eingerichtet wurde, muss die AWS DMS-Aufgabe ununterbrochen ausgeführt werden, um zu verhindern, dass das Datenbankprotokoll übermäßig groß wird. Wenn Sie die AWS DMS-Aufgabe dauerhaft stoppen möchten, entfernen Sie den Replikationskürzungspunkt durch Ausgabe des folgenden Befehls:

dbcc settrunc('ltm','ignore')

Nachdem der Kürzungspunkt entfernt wurde, kann die AWS DMS-Aufgabe nicht wieder aufgenommen werden. Das Protokoll wird weiterhin automatisch an den Checkpoints gekürzt (falls automatische Kürzung eingestellt ist).

Endpunkteinstellungen bei Verwendung von SAP ASE als Quelle für AWS DMS

Sie können Endpunkteinstellungen, ähnlich wie zusätzliche Verbindungsattribute, zum Konfigurieren Ihrer SAP-ASE-Quelldatenbank verwenden. Sie legen die Einstellungen fest, wenn Sie den Quellendpunkt mithilfe der AWS DMS-Konsole erstellen oder indem Sie den Befehl create-endpoint in der AWS CLI aufrufen. Verwenden Sie die JSON-Syntax --sybase-settings '{"EndpointSetting": "value", ...}'.

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

Name Beschreibung
Charset

Legen Sie dieses Attribut auf den SAP-ASE-Namen fest, der dem internationalen Zeichensatz entspricht.

Standardwert: iso_1

Beispiel: --sybase-settings '{"Charset": "utf8"}'

Zulässige Werte:

  • acsii_8

  • big5hk

  • cp437

  • cp850

  • cp852

  • cp852

  • cp855

  • cp857

  • cp858

  • cp860

  • cp864

  • cp866

  • cp869

  • cp874

  • cp932

  • cp936

  • cp950

  • cp1250

  • cp1251

  • cp1252

  • cp1253

  • cp1254

  • cp1255

  • cp1256

  • cp1257

  • cp1258

  • deckanji

  • euccns

  • eucgb

  • eucjis

  • eucksc

  • gb18030

  • greek8

  • iso_1

  • iso88592

  • iso88595

  • iso88596

  • iso88597

  • iso88598

  • iso88599

  • iso15

  • kz1048

  • koi8

  • roman8

  • iso88599

  • sjis

  • tis620

  • turkish8

  • utf8

Schlagen Sie bei weiteren Fragen zu den unterstützten Zeichensätzen in einer SAP-ASE-Datenbank unter Adaptive server supported character sets nach.

EnableReplication

Legen Sie dieses Attribut fest, wenn Sie sp_setreptable vom Datenbankendpunkt aus und nicht über AWS DMS aktivieren möchten.

Standardwert: true

Gültige Werte: true oder false.

Beispiel: --sybase-settings '{"EnableReplication": false}'

EncryptPassword

Legen Sie dieses Attribut fest, wenn Sie "net password encryption reqd" in der Quelldatenbank aktiviert haben.

Standardwert: 0

Gültige Werte: 0, 1 oder 2

Beispiel: --sybase-settings '{"EncryptPassword": 1}'

Weitere Informationen zu diesen Parameterwerten finden Sie unter Adaptive Server Enterprise: Using the EncryptPassword Connection string property.

Provider

Legen Sie dieses Attribut fest, wenn Sie Transport Layer Security (TLS) 1.2 für Versionen von ASE 15.7 und höher verwenden möchten. Beachten Sie, dass AWS TLS Version 1.2 oder höher erfordert und Version 1.3 empfohlen wird.

Standardwert: Adaptive Server Enterprise

Zulässige Werte: Adaptive Server Enterprise 16.03.06

Beispiel: --sybase-settings '{"Provider": "Adaptive Server Enterprise 16.03.06"}'

Quelldatentypen für SAP ASE

Eine Liste der SAP ASE-Quelldatentypen, die bei Verwendung von AWS DMS unterstützt werden, sowie deren Standardzuweisung von AWS DMS-Datentypen finden Sie in der folgenden Tabelle. AWS DMS unterstützt keine SAP ASE-Quelltabellen mit Spalten des benutzerdefinierten Typs (UDT). Replizierte Spalten mit diesem Datentyp werden als NULL erstellt.

Weitere Informationen zum Anzeigen des Datentyps, der im Ziel zugewiesen ist, finden Sie im Abschnitt Ziele für die Datenmigration für Ihren Zielendpunkt.

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

SAP ASE-Datentypen

AWS DMS-Datentypen

BIGINT

INT8

UNSIGNED BIGINT

UINT8

INT

INT4

UNSIGNED INT

UINT4

SMALLINT

INT2

UNSIGNED SMALLINT

UINT2

TINYINT

UINT1

DECIMAL

NUMERIC

NUMERIC

NUMERIC

FLOAT

REAL8

DOUBLE

REAL8

REAL

REAL4

MONEY

NUMERIC

SMALLMONEY

NUMERIC

DATETIME

DATETIME

BIGDATETIME

DATETIME(6)

SMALLDATETIME

DATETIME

DATUM

DATUM

TIME

TIME

BIGTIME

TIME

CHAR

STRING

UNICHAR

WSTRING

NCHAR

WSTRING

VARCHAR

STRING

UNIVARCHAR

WSTRING

NVARCHAR

WSTRING

BINARY

BYTES

VARBINARY

BYTES

BIT

BOOLEAN

TEXT

CLOB

UNITEXT

NCLOB

IMAGE

BLOB