Migrieren von Db2-Daten über Amazon S3 zu Amazon RDS für Db2 - Amazon Relational Database 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.

Migrieren von Db2-Daten über Amazon S3 zu Amazon RDS für Db2

Bei diesem Migrationsansatz speichern Sie zunächst Daten aus einer einzelnen Tabelle in einer Datendatei, die Sie in einen Amazon-S3-Bucket platzieren. Anschließend verwenden Sie den LOAD-Befehl, um die Daten aus dieser Datendatei in eine Tabelle in Ihrer Datenbank von Amazon RDS für Db2 zu laden. Weitere Informationen zur Verwendung von Amazon S3 finden Sie unter Integration einer DB-Instance von Amazon RDS für Db2 mit Amazon S3.

Speichern Ihrer Daten in Amazon S3

Um Daten aus einer einzelnen Tabelle in Amazon S3 zu speichern, verwenden Sie ein Datenbank-Dienstprogramm und extrahieren Sie die Daten damit aus Ihrem Datenbankmanagementsystem (DBMS) in eine CSV-Datei. Laden Sie dann die Datendatei in Amazon S3 hoch.

Zum Speichern von Datendateien auf Amazon S3 benötigen Sie die folgenden AWS-Komponenten:

Laden Ihrer Daten in Tabellen von RDS für Db2

Nachdem Sie Ihre Datendateien in Amazon S3 gespeichert haben, können Sie die Daten aus diesen Dateien in einzelne Tabellen auf Ihrer DB-Instance von RDS für Db2 laden.

So laden Sie Ihre Db2-Tabellendaten in Ihre DB-Datenbanktabelle von RDS für Db2
  1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur rdsadmin-Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. Katalogisieren Sie einen Alias für den Speicherzugriff, der auf den Amazon-S3-Bucket verweist, in dem Ihre gespeicherten Dateien untergebracht sind. Notieren Sie sich diesen Alias, um ihn im nächsten Schritt zur Hand zu haben. Sie müssen diesen Schritt nur einmal ausführen, wenn Sie mehrere Tabellen aus Datendateien laden möchten, die im selben Amazon-S3-Bucket gespeichert sind.

    Im folgenden Beispiel wird ein Alias mit dem Namen my_s3_alias katalogisiert, der einem Benutzer namens jorge_souza Zugriff auf einen Bucket mit dem Namen amzn-s3-demo-bucket gewährt.

    db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'amzn-s3-demo-bucket', 'USER', 'jorge_souza')"

    Weitere Informationen zu dieser gespeicherten Prozedur finden Sie unter rdsadmin.catalog_storage_access.

  3. Führen Sie den LOAD-Befehl mit dem Speicherzugriff-Alias, der auf Ihren Amazon-S3-Bucket verweist.

    Anmerkung

    Wenn der LOAD-Befehl einen Fehler zurückgibt, müssen Sie möglicherweise einen VPC-Gateway-Endpunkt für Amazon S3 erstellen und ausgehende Regeln zur Sicherheitsgruppe hinzufügen. Weitere Informationen finden Sie unter I/O Fehler in der Datei.

    Im folgenden Beispiel werden Daten aus einer Datendatei mit dem Namen my_s3_datafile.csv in eine Tabelle mit dem Namen my_db2_table geladen. In diesem Beispiel wird davon ausgegangen, dass sich die Datendatei in dem Amazon-S3-Bucket befindet, auf den der Alias my_s3_alias verweist.

    db2 "load from db2remote://my_s3_alias//my_s3_datafile.csv of DEL insert into my_db2_table";

    Im folgenden Beispiel werden LOBs aus einer Datendatei mit dem Namen my_table1_export.ixf in eine Tabelle mit dem Namen my_db2_table geladen. In diesem Beispiel wird davon ausgegangen, dass sich die Datendatei in dem Amazon-S3-Bucket befindet, auf den der Alias my_s3_alias verweist.

    db2 "call sysproc.admin_cmd('load from "db2remote://my_s3_alias//my_table1_export.ixf" of ixf lobs from "db2remote://my_s3_alias//" xml from "db2remote://my_s3_alias//" modified by lobsinfile implicitlyhiddeninclude identityoverride generatedoverride periodoverride transactionidoverride messages on server replace into "my_schema"."my_db2_table" nonrecoverable indexing mode incremental allow no access')"

    Wiederholen Sie diesen Schritt für jede Datendatei im Amazon-S3-Bucket, die Sie in eine Tabelle in Ihrer DB-Instance von RDS für Db2 laden möchten.

    Weitere Informationen zum LOAD-Befehl finden Sie unter LOAD-Befehl.