Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migration de données DB2 via Amazon S3 vers Amazon RDS for Db2
Avec cette approche de migration, vous enregistrez d'abord les données d'une seule table dans un fichier de données que vous placez dans un compartiment Amazon S3. Vous utilisez ensuite la LOADcommande
Rubriques
Sauvegarde de vos données sur Amazon S3
Pour enregistrer les données d'une seule table sur Amazon S3, utilisez un utilitaire de base de données pour extraire les données de votre système de gestion de base de données (DBMS) dans un CSV fichier. Chargez ensuite le fichier de données sur Amazon S3.
Pour stocker des fichiers de données sur Amazon S3, vous avez besoin des AWS composants suivants :
-
Un compartiment Amazon S3 pour stocker vos fichiers de sauvegarde : si vous possédez déjà un compartiment S3, vous pouvez l'utiliser. Si vous n'avez pas de compartiment S3, consultez la section Création d'un compartiment dans le guide de l'utilisateur Amazon S3.
-
Un IAM rôle pour accéder au compartiment S3 : si vous avez déjà un IAM rôle, vous pouvez l'utiliser. Si vous n'avez pas de rôle, consultezÉtape 2 : Créez un IAM rôle et associez votre IAM politique.
-
Une IAM politique assortie de relations de confiance et d'autorisations associées à votre IAM rôle : pour plus d'informations, consultezÉtape 1 : Créer une stratégie IAM.
-
Le IAM rôle ajouté à votre instance de base de données RDS for Db2 : pour plus d'informations, consultezÉtape 3 : Ajoutez votre IAM rôle à votre instance de base de données RDS for DB2.
Chargement de vos données dans RDS quatre tables DB2
Après avoir enregistré vos fichiers de données sur Amazon S3, vous pouvez charger les données de ces fichiers dans des tables individuelles de votre instance de base de données RDS for Db2.
Pour charger les données de votre table DB2 dans votre table de base de données RDS pour DB2
-
Connectez-vous à la
rdsadmin
base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacezmaster_username
andmaster_password
avec vos propres informations.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Cataloguez un alias d'accès au stockage qui pointe vers le compartiment Amazon S3 dans lequel sont stockés vos fichiers enregistrés. Prenez note du nom de cet alias à utiliser à l'étape suivante. Vous ne devez effectuer cette étape qu'une seule fois si vous prévoyez de charger plusieurs tables à partir de fichiers de données stockés dans le même compartiment Amazon S3.
L'exemple suivant répertorie un alias nommé
my_s3_alias
qui accorde à un utilisateur nomméjorge_souza
accès à un bucket nomméamzn-s3-demo-bucket
.db2 "call rdsadmin.catalog_storage_access(?, '
my_s3_alias
', 'amzn-s3-demo-bucket
', 'USER', 'jorge_souza
')"Pour plus d'informations sur cette procédure stockée, voirrdsadmin.catalog_storage_access.
-
Exécutez la
LOAD
commande à l'aide de l'alias d'accès au stockage qui pointe vers votre compartiment Amazon S3.Note
Si la
LOAD
commande renvoie une erreur, vous devrez peut-être créer un point de terminaison de VPC passerelle pour Amazon S3 et ajouter des règles de sortie au groupe de sécurité. Pour de plus amples informations, veuillez consulter I/O Erreur de fichier.L'exemple suivant charge des données à partir d'un fichier de données nommé
my_s3_datafile.csv
dans une table nomméemy_db2_table
. L'exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 que l'alias a nommémy_s3_alias
pointe vers.db2 "load from db2remote://
my_s3_alias
//my_s3_datafile.csv
of DEL insert intomy_db2_table
";L'exemple suivant charge LOBs à partir d'un fichier de données nommé
my_table1_export.ixf
dans une table nomméemy_db2_table
. L'exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 que l'alias a nommémy_s3_alias
pointe vers.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')"Répétez cette étape pour chaque fichier de données du compartiment Amazon S3 que vous souhaitez charger dans une table de votre instance de base de données RDS for Db2.
Pour plus d'informations sur la
LOAD
commande, voir LOADcommande.