Verwendung von IBM Db2 for z/OS als Quelle für AWS SCT - AWS Schema Conversion Tool

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 for z/OS als Quelle für AWS SCT

Sie können AWS SCT es verwenden, um Schemas, Codeobjekte und Anwendungscode von IBM Db2 for z/OS in die folgenden Ziele zu konvertieren.

  • Amazon RDS for MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

Voraussetzungen für Db2 for z/OS als Quelldatenbank

Die Datenbankversion von IBM Db2 for z/OS Version 12 Function Level 100 unterstützt die meisten neuen Funktionen von IBM Db2 for z/OS Version 12 nicht. Diese Datenbankversion unterstützt den Fallback auf Db2 Version 11 und die gemeinsame Nutzung von Daten mit Db2 Version 11. Um die Konvertierung nicht unterstützter Funktionen von Db2 Version 11 zu vermeiden, empfehlen wir, dass Sie eine IBM Db2 for z/OS-Datenbank der Funktionsstufe 500 oder höher als Quelle für verwenden. AWS SCT

Sie können das folgende Codebeispiel verwenden, um die Version Ihrer IBM Db2 for z/OS-Quelldatenbank zu überprüfen.

SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;

Stellen Sie sicher, dass dieser Code Version DSN12015 oder höher zurückgibt.

Sie können das folgende Codebeispiel verwenden, um den Wert des APPLICATION COMPATIBILITY speziellen Registers in Ihrer IBM Db2 for z/OS-Quelldatenbank zu überprüfen.

SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;

Stellen Sie sicher, dass dieser Code Version V12R1M500 oder höher zurückgibt.

Rechte für Db2 for z/OS als Quelldatenbank

Die erforderlichen Rechte, um eine Verbindung zu einer Db2 for z/OS-Datenbank herzustellen und Systemkataloge und Tabellen zu lesen, lauten wie folgt:

  • AUF SYSIBM.LOCATIONS AUSWÄHLEN

  • WÄHLEN SIE AUF SYSIBM.SYSCHECKS

  • WÄHLE AUF SYSIBM.SYSCOLUMNS

  • AUF SYSIBM.SYSDATABASE AUSWÄHLEN

  • WÄHLEN SIE AUS SYSIBM.SYSDATATYPES

  • WÄHLE AUF SYSIBM.SYSDUMMY1

  • WÄHLE AUF SYSIBM.SYSFOREIGNKEYS

  • WÄHLEN SIE AUF SYSIBM.SYSINDEXES

  • WÄHLEN SIE AUF SYSIBM.SYSKEYCOLUSE

  • WÄHLE AUF SYSIBM.SYSKEYS

  • WÄHLE AUF SYSIBM.SYSKEYTARGETS

  • WÄHLEN SIE AUF SYSIBM.SYSJAROBJECTS

  • WÄHLEN SIE EIN SYSIBM.SYSPACKAGE

  • WÄHLE AUF SYSIBM.SYSPARMS

  • WÄHLEN SIE AUF SYSIBM.SYSRELS

  • WÄHLEN SIE AUF SYSIBM.SYSROUTINES

  • WÄHLE AUF SYSIBM.SYSSEQUENCES

  • WÄHLEN SIE AUF SYSIBM.SYSSEQUENCESDEP

  • WÄHLE SYSIBM.SYSSYNONYME

  • WÄHLE AUF SYSIBM.SYSTABCONST

  • WÄHLE AUF SYSIBM.SYSTABLES

  • WÄHLE AUF SYSIBM.SYSTABLESPACE

  • WÄHLE AUF SYSIBM.SYSTRIGGERS

  • WÄHLE AUF SYSIBM.SYSVARIABLES

  • WÄHLEN SIE AUF SYSIBM.SYSVIEWS

Um Db2 for z/OS-Tabellen in partitionierte PostgreSQL-Tabellen zu konvertieren, sammeln Sie mithilfe des Hilfsprogramms Statistiken über Tablespaces und Tabellen in Ihrer Datenbank, wie im Folgenden gezeigt. RUNSTATS

LISTDEF YOURLIST INCLUDE TABLESPACES DATABASE YOURDB RUNSTATS TABLESPACE LIST YOURLIST TABLE (ALL) INDEX (ALL KEYCARD) UPDATE ALL REPORT YES SHRLEVEL REFERENCE

Ersetzen Sie im vorherigen Beispiel den YOURDB Platzhalter durch den Namen der Quelldatenbank.

Verbindung zu Db2 für z/OS als Quelle herstellen

Gehen Sie wie folgt vor, um mit Ihrer Db2 for z/OS-Quelldatenbank eine Verbindung herzustellen. AWS SCT

So stellen Sie eine Verbindung zu einer IBM Db2 for z/OS-Quelldatenbank her
  1. Wählen Sie in der AWS Schema Conversion Tool Quelle hinzufügen aus.

  2. Wählen Sie Db2 for z/OS und dann Weiter.

    Das Dialogfeld Quelle hinzufügen wird angezeigt.

  3. Geben Sie unter Verbindungsname einen Namen für Ihre Datenbank ein. AWS SCTzeigt diesen Namen in der Baumstruktur im linken Bereich an.

  4. Verwenden Sie Datenbankanmeldeinformationen von AWS Secrets Manager oder geben Sie sie manuell ein:

    • Gehen Sie wie folgt vor, um die Datenbankanmeldeinformationen von Secrets Manager zu verwenden:

      1. Wählen Sie für AWSGeheim den Namen des Geheimnisses.

      2. Wählen Sie Auffüllen, um automatisch alle Werte im Datenbankverbindungsdialogfeld von Secrets Manager auszufüllen.

      Hinweise zur Verwendung von Datenbankanmeldeinformationen von Secrets Manager finden Sie unterVerwenden von AWS Secrets Manager.

    • Gehen Sie wie folgt vor, um die Verbindungsinformationen zur IBM Db2 for z/OS-Quelldatenbank manuell einzugeben:

      Parameter Action
      Server name

      Geben Sie den DNS-Namen (Domain Name System) oder die IP-Adresse Ihres Quelldatenbankservers ein.

      Server port

      Geben Sie den Port ein, der für die Verbindung zum Quelldatenbankserver verwendet wird.

      Ort

      Geben Sie den eindeutigen Namen des Db2-Standorts ein, auf den Sie zugreifen möchten.

      User name und Password

      Geben Sie die Datenbankanmeldeinformationen ein, um eine Verbindung zu Ihrem Quelldatenbankserver herzustellen.

      AWS SCTverwendet das Passwort nur dann, um eine Verbindung zu Ihrer Quelldatenbank herzustellen, wenn Sie sich in einem Projekt dafür entscheiden, eine Verbindung zu Ihrer Datenbank herzustellen. Um zu verhindern, dass das Passwort für Ihre Quelldatenbank preisgegeben wird, wird das Passwort standardmäßig AWS SCT nicht gespeichert. Wenn Sie Ihr AWS SCT-Projekt schließen und erneut öffnen, müssen Sie das Passwort für die Verbindung zur Quelldatenbank bei Bedarf erneut eingeben.

      Use SSL

      Wählen Sie diese Option, wenn Sie Secure Sockets Layer (SSL) verwenden möchten, um eine Verbindung zu Ihrer Datenbank herzustellen. Geben Sie gegebenenfalls die folgenden zusätzlichen Informationen auf der Registerkarte SSL an:

      • Trust Store: Der Speicherort eines Trust Stores, der Zertifikate enthält. Damit dieser Standort hier angezeigt wird, stellen Sie sicher, dass Sie ihn in den globalen Einstellungen hinzufügen.

      Passwort speichern

      AWS SCT erstellt einen sicheren Bereich, um SSL-Zertifikate und Datenbankpasswörter zu speichern. Wenn Sie diese Option aktivieren, können Sie das Datenbankkennwort speichern und schnell eine Verbindung zur Datenbank herstellen, ohne das Passwort eingeben zu müssen.

      Treiberpfad für Db2 für z/OS

      Geben Sie den Pfad zum Treiber ein, der für die Verbindung zur Quelldatenbank verwendet wird. Weitere Informationen finden Sie unter Die erforderlichen Datenbanktreiber werden heruntergeladen.

      Wenn Sie den Treiberpfad in den globalen Projekteinstellungen speichern, wird der Pfad im Verbindungsdialogfeld nicht angezeigt. Weitere Informationen finden Sie unter Speichern von Treiberpfaden in den globalen Einstellungen.

  5. Wählen Sie Verbindung testen, um zu überprüfen, ob eine Verbindung zu Ihrer Quelldatenbank hergestellt werden AWS SCT kann.

  6. Wählen Sie Verbinden, um eine Verbindung zu Ihrer Quelldatenbank herzustellen.

Rechte für MySQL als Zieldatenbank

Die für MySQL als Ziel erforderlichen Rechte lauten wie folgt:

  • ERSTELLEN AM * . *

  • ÄNDERN AM * . *

  • VORBEIKOMMEN * . *

  • INDEX AUF * . *

  • VERWEISE AUF * . *

  • SELECT ON *.*

  • ANSICHT ERSTELLEN AM * . *

  • SHOW VIEW ON *.*

  • AUSLÖSER EIN* . *

  • ROUTINE ERSTELLEN AM * . *

  • ROUTINE ÄNDERN AM * . *

  • AUSFÜHREN AM * . *

  • SELECT ON mysql.proc

  • EINFÜGEN, AUF AWS_DB2ZOS_EXT AKTUALISIEREN. *

  • AUF AWS_DB2ZOS_EXT_DATA EINFÜGEN, AKTUALISIEREN, LÖSCHEN. *

  • ERSTELLT TEMPORÄRE TABELLEN AUF AWS_DB2ZOS_EXT_DATA. *

Sie können das folgende Codebeispiel verwenden, um einen Datenbankbenutzer zu erstellen und die Rechte zu gewähren.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT SELECT ON mysql.proc TO 'user_name'; GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';

Ersetzen Sie im vorherigen Beispiel user_name durch den Namen Ihres Benutzers. Ersetzen Sie dann your_password durch ein sicheres Passwort.

Um Amazon RDS for MySQL als Ziel zu verwenden, setzen Sie den log_bin_trust_function_creators Parameter auf true und den character_set_server auflatin1. Um diese Parameter zu konfigurieren, erstellen Sie eine neue DB-Parametergruppe oder ändern Sie eine bestehende DB-Parametergruppe.

Um Aurora MySQL als Ziel zu verwenden, setzen Sie den log_bin_trust_function_creators Parameter auf true und den Parameter character_set_server auf tolatin1. Stellen Sie den lower_case_table_names Parameter außerdem auf True ein. Um diese Parameter zu konfigurieren, erstellen Sie eine neue DB-Parametergruppe oder ändern Sie eine bestehende DB-Parametergruppe.

Privilegien für PostgreSQL als Zieldatenbank

Um PostgreSQL als Ziel zu verwenden, ist das AWS SCT Privileg erforderlich. CREATE ON DATABASE Stellen Sie sicher, dass Sie dieses Privileg für jede PostgreSQL-Zieldatenbank gewähren.

Um Amazon RDS for PostgreSQL als Ziel zu verwenden, ist das Privileg AWS SCT erforderlich. rds_superuser

Um die konvertierten öffentlichen Synonyme zu verwenden, ändern Sie den Standardsuchpfad der Datenbank in"$user", public_synonyms, public.

Sie können das folgende Codebeispiel verwenden, um einen Datenbankbenutzer zu erstellen und die Rechte zu gewähren.

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; GRANT rds_superuser TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

Ersetzen Sie im vorherigen Beispiel user_name durch den Namen Ihres Benutzers. Ersetzen Sie dann db_name durch den Namen Ihrer Zieldatenbank. Ersetzen Sie abschließend your_password durch ein sicheres Passwort.

In PostgreSQL superuser kann nur der Schemabesitzer oder a ein Schema löschen. Der Besitzer kann ein Schema und alle Objekte, die dieses Schema enthält, löschen, auch wenn der Besitzer des Schemas einige seiner Objekte nicht besitzt.

Wenn Sie verschiedene Benutzer verwenden, um verschiedene Schemas zu konvertieren und auf Ihre Zieldatenbank anzuwenden, erhalten Sie möglicherweise eine Fehlermeldung, wenn ein Schema nicht gelöscht AWS SCT werden kann. Verwenden Sie die superuser Rolle, um diese Fehlermeldung zu vermeiden.

Einstellungen für die Konvertierung von Db2 für z/OS in PostgreSQL

Um die Konvertierungseinstellungen von Db2 for z/OS in PostgreSQL zu bearbeiten, wählen Sie Einstellungen und dann Konvertierungseinstellungen. Wählen Sie aus der oberen Liste Db2 für z/OS und dann Db2 für z/OS — PostgreSQL oder Db2 für z/OS — Amazon Aurora (PostgreSQL-kompatibel). AWS SCTzeigt alle verfügbaren Einstellungen für die Konvertierung von IBM Db2 for z/OS in PostgreSQL an.

Die Einstellungen für die Konvertierung von Db2 for z/OS in PostgreSQL AWS SCT beinhalten Optionen für Folgendes:

  • Um die Anzahl der Kommentare mit Aktionselementen im konvertierten Code zu begrenzen.

    Wählen Sie unter Kommentare im konvertierten Code für die Aktionspunkte mit dem ausgewählten Schweregrad und höher den Schweregrad der Aktionspunkte aus. AWS SCTfügt dem konvertierten Code Kommentare für Aktionspunkte mit dem ausgewählten Schweregrad und höher hinzu.

    Um beispielsweise die Anzahl der Kommentare in Ihrem konvertierten Code zu minimieren, wählen Sie Nur Fehler aus. Um Kommentare zu allen Aktionselementen in Ihren konvertierten Code aufzunehmen, wählen Sie Alle Nachrichten.

  • Um eindeutige Namen für Einschränkungen in der Zieldatenbank zu generieren.

    In PostgreSQL müssen alle Constraint-Namen, die Sie verwenden, eindeutig sein. AWS SCTkann eindeutige Namen für Beschränkungen im konvertierten Code generieren, indem Sie dem Namen Ihrer Einschränkung ein Präfix mit dem Tabellennamen hinzufügen. Um sicherzustellen, dass eindeutige Namen für Ihre Einschränkungen AWS SCT generiert werden, wählen Sie Eindeutige Namen für Einschränkungen generieren aus.

  • Um die Formatierung von Spaltennamen, Ausdrücken und Klauseln in DML-Anweisungen im konvertierten Code beizubehalten.

    AWS SCTkann das Layout von Spaltennamen, Ausdrücken und Klauseln in DML-Anweisungen an der ähnlichen Position und Reihenfolge wie im Quellcode beibehalten. Wählen Sie dazu Ja für Die Formatierung von Spaltennamen, Ausdrücken und Klauseln in DML-Anweisungen beibehalten aus.

  • Um Tabellenpartitionen aus dem Konvertierungsumfang auszuschließen.

    AWS SCTkann während der Konvertierung alle Partitionen einer Quelltabelle überspringen. Wählen Sie dazu die Option Tabellenpartitionen aus dem Konvertierungsbereich ausschließen aus.

  • Um die automatische Partitionierung für Tabellen zu verwenden, die nach Wachstum partitioniert sind.

    AWS SCTKann für die Datenmigration automatisch alle Tabellen partitionieren, die größer als die angegebene Größe sind. Um diese Option zu verwenden, wählen Sie Partition für Tabellen erzwingen, die größer sind als, und geben Sie die Tabellengröße in Gigabyte ein. Geben Sie als Nächstes die Anzahl der Partitionen ein. AWS SCTberücksichtigt die Größe des Direct Access Storage Device (DASD) Ihrer Quelldatenbank, wenn Sie diese Option aktivieren.

    AWS SCTkann die Anzahl der Partitionen automatisch ermitteln. Wählen Sie dazu die Option Anzahl der Partitionen proportional erhöhen und geben Sie die maximale Anzahl von Partitionen ein.

  • Um dynamische Ergebnismengen als Array von Werten des Refcursor-Datentyps zurückzugeben.

    AWS SCTkann Quellprozeduren, die dynamische Ergebnismengen zurückgeben, in Prozeduren konvertieren, die ein Array offener Refcursoren als zusätzlichen Ausgabeparameter haben. Wählen Sie dazu Use an array of refcursors to return all dynamic result sets aus.

  • Um den Standard anzugeben, der für die Konvertierung von Datums- und Uhrzeitwerten in Zeichenkettendarstellungen verwendet werden soll.

    AWS SCTkann Datums- und Uhrzeitwerte mithilfe eines der unterstützten Branchenformate in Zeichenkettendarstellungen konvertieren. Wählen Sie dazu Zeichenfolgendarstellungen von Datumswerten verwenden oder Zeichenfolgendarstellungen von Zeitwerten verwenden aus. Wählen Sie als Nächstes einen der folgenden Standards aus.

    • Internationale Normenorganisation (ISO)

    • IBM Europäischer Standard (EUR)

    • IBM USA Standard (Vereinigte Staaten)

    • Japanischer Industriestandard Christian Era (JIS)