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
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:
-
Einen Amazon-S3-Bucket zum Speichern Ihrer Sicherungsdateien: Wenn Sie bereits über einen S3-Bucket verfügen, können Sie diesen Bucket verwenden. Wenn Sie über keinen S3-Bucket verfügen, gehen Sie zu Einen Bucket erstellen im Amazon-S3-Benutzerhandbuch.
-
Eine IAM-Rolle für den Zugriff auf den S3-Bucket: Wenn Sie bereits eine IAM-Rolle haben, können Sie diese Rolle verwenden. Wenn dies nicht der Fall ist, wechseln Sie zu Schritt 2: Erstellen einer IAM-Rolle und Anfügen der IAM-Richtlinie.
-
Eine IAM-Richtlinie mit Vertrauensbeziehungen und Berechtigungen, die Ihrer IAM-Rolle zugeordnet sind: Weitere Informationen finden Sie unter Schritt 1: Erstellen einer IAM-Richtlinie.
-
Die IAM-Rolle, die Ihrer DB-Instance von RDS für Db2 hinzugefügt wurde: Weitere Informationen finden Sie unter Schritt 3: Hinzufügen Ihrer IAM-Rolle zu Ihrer DB-Instance von RDS für Db2.
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
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
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_aliaskatalogisiert, der einem Benutzer namensjorge_souzaZugriff auf einen Bucket mit dem Namenamzn-s3-demo-bucketgewä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.
-
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.csvin eine Tabelle mit dem Namenmy_db2_tablegeladen. In diesem Beispiel wird davon ausgegangen, dass sich die Datendatei in dem Amazon-S3-Bucket befindet, auf den der Aliasmy_s3_aliasverweist.db2 "load from db2remote://my_s3_alias//my_s3_datafile.csvof DEL insert intomy_db2_table";Im folgenden Beispiel werden LOBs aus einer Datendatei mit dem Namen
my_table1_export.ixfin eine Tabelle mit dem Namenmy_db2_tablegeladen. In diesem Beispiel wird davon ausgegangen, dass sich die Datendatei in dem Amazon-S3-Bucket befindet, auf den der Aliasmy_s3_aliasverweist.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.