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.
Migration von Db2-Daten über Amazon S3 zu Amazon RDS for Db2
Bei diesem Migrationsansatz speichern Sie zunächst Daten aus einer einzelnen Tabelle in einer Datendatei, die Sie in einem Amazon S3 S3-Bucket platzieren. Anschließend verwenden Sie den LOADBefehl
Speichern Ihrer Daten auf Amazon S3
Um Daten aus einer einzelnen Tabelle in Amazon S3 zu speichern, verwenden Sie ein Datenbank-Hilfsprogramm, um die Daten aus Ihrem Datenbankmanagementsystem (DBMS) in eine CSV Datei zu extrahieren. Laden Sie dann die Datendatei auf Amazon S3 hoch.
Zum Speichern von Datendateien auf Amazon S3 benötigen Sie die folgenden AWS Komponenten:
-
Ein Amazon S3 S3-Bucket zum Speichern Ihrer Backup-Dateien: Wenn Sie bereits einen S3-Bucket haben, können Sie diesen Bucket verwenden. Wenn Sie keinen S3-Bucket haben, finden Sie weitere Informationen unter Bucket erstellen im Amazon S3 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 Sie keine Rolle haben, finden Sie weitere Informationen unterSchritt 2: Erstellen Sie eine IAM Rolle und fügen Sie Ihre IAM Richtlinie hinzu.
-
Eine IAM Richtlinie mit Vertrauensbeziehungen und Berechtigungen, die mit Ihrer IAM Rolle verknüpft sind: Weitere Informationen finden Sie unterSchritt 1: Erstellen einer IAM-Richtlinie.
-
Die IAM Rolle, die Ihrer RDS DB2-DB-Instance hinzugefügt wurde: Weitere Informationen finden Sie unterSchritt 3: Fügen Sie Ihre IAM Rolle zu Ihrer RDS for Db2-DB-Instance hinzu.
Laden Sie Ihre Daten in RDS Db2-Tabellen
Nachdem Sie Ihre Datendateien in Amazon S3 gespeichert haben, können Sie die Daten aus diesen Dateien in einzelne Tabellen auf Ihrer RDS for Db2-DB-Instance laden.
Um Ihre Db2-Tabellendaten in Ihre RDS für Db2 DB-Datenbanktabelle zu laden
-
Stellen Sie mit dem Master-Benutzernamen und dem Master-Passwort für Ihre DB2-DB-Instance eine Connect RDS zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
andmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Katalogisieren Sie einen Alias für den Speicherzugriff, der auf den Amazon S3 S3-Bucket verweist, in dem Ihre gespeicherten Dateien gespeichert sind. Notieren Sie sich den Namen dieses Alias zur Verwendung im nächsten Schritt. Sie müssen diesen Schritt nur einmal ausführen, wenn Sie mehrere Tabellen aus Datendateien laden möchten, die im selben Amazon S3 S3-Bucket gespeichert sind.
Das folgende Beispiel katalogisiert einen Alias mit dem Namen
my_s3_alias
das gewährt einem Benutzer mit dem Namenjorge_souza
Zugriff auf einen Bucket mit dem Namenamzn-s3-demo-bucket
.db2 "call rdsadmin.catalog_storage_access(?, '
my_s3_alias
', 'amzn-s3-demo-bucket
', 'USER', 'jorge_souza
')"Weitere Hinweise zu dieser gespeicherten Prozedur finden Sie unterrdsadmin.catalog_storage_access.
-
Führen Sie den
LOAD
Befehl mit dem Speicherzugriffsalias aus, der auf Ihren Amazon S3 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 Datei-I/O-Fehler.Im folgenden Beispiel werden Daten aus einer Datendatei mit dem Namen geladen
my_s3_datafile.csv
in eine Tabelle mit dem Namenmy_db2_table
. Das Beispiel geht davon aus, dass sich die Datendatei in dem Amazon S3 S3-Bucket befindet, den der Alias benannt hatmy_s3_alias
zeigt auf.db2 "load from db2remote://
my_s3_alias
//my_s3_datafile.csv
of DEL insert intomy_db2_table
";Das folgende Beispiel wird LOBs aus einer Datendatei mit dem Namen geladen
my_table1_export.ixf
in eine Tabelle mit dem Namenmy_db2_table
. Das Beispiel geht davon aus, dass sich die Datendatei in dem Amazon S3 S3-Bucket befindet, den der Alias benannt hatmy_s3_alias
zeigt auf.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 S3-Bucket, die Sie in eine Tabelle in Ihrer RDS for Db2-DB-Instance laden möchten.
Weitere Informationen zu dem
LOAD
Befehl finden Sie unter LOADBefehl.