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 table unique dans un fichier de données que vous placez dans un compartiment Amazon S3. Vous utilisez ensuite la commande LOAD
Rubriques
Enregistrement de vos données dans 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 fichier CSV. Chargez ensuite le fichier de données sur Amazon S3.
Pour stocker des fichiers de données sur Amazon S3, vous avez besoin des composants AWS suivants :
-
Un compartiment Amazon S3 pour stocker vos fichiers de sauvegarde : si vous avez déjà un compartiment S3, vous pouvez l’utiliser. Si vous n’avez pas de compartiment S3, consultez Création d’un compartiment dans le Guide de l’utilisateur Amazon S3.
-
Un rôle IAM pour accéder au compartiment S3 : si vous avez déjà un rôle IAM, vous pouvez l’utiliser. Si vous n’avez pas de rôle, consultez Étape 2 : création d’un rôle IAM et ajoute de votre politique IAM.
-
Une politique IAM avec des relations d’approbation et des autorisations associées à votre rôle IAM : pour plus d’informations, consultez Étape 1 : créer une politique IAM.
-
Le rôle IAM ajouté à votre instance de base de données RDS for Db2 : pour plus d’informations, consultez Étape 3 : ajoutez votre rôle IAM à votre instance de base de données RDS for Db2.
Chargement de vos données dans les tables RDS for 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.
Chargement des données de votre table Db2 dans votre table de base de données RDS for Db2
-
Connectez-vous à la base de données
rdsadminà l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Dans l’exemple suivant, remplacezmaster_usernameetmaster_passwordpar vos propres informations.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Cataloguez un alias d’accès au stockage qui pointe vers le compartiment Amazon S3 où vos fichiers enregistrés sont stockés. Notez le nom de cet alias pour l’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 catalogue un alias nommé
my_s3_aliasqui accorde à un utilisateur nomméjorge_souzal’accès à un compartiment 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, consultez rdsadmin.catalog_storage_access.
-
Exécutez la commande
LOADà l’aide de l’alias d’accès au stockage qui pointe vers votre compartiment Amazon S3.Note
Si la commande
LOADrenvoie une erreur, vous devrez peut-être créer un point de terminaison de passerelle VPC pour Amazon S3 et ajouter des règles de sortie au groupe de sécurité. Pour plus d’informations, consultez I/O Erreur de fichier.L’exemple suivant charge les données d’un fichier de données nommé
my_s3_datafile.csvdans une table nomméemy_db2_table. L’exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 vers lequel pointe l’aliasmy_s3_alias.db2 "load from db2remote://my_s3_alias//my_s3_datafile.csvof DEL insert intomy_db2_table";L’exemple suivant charge les objets binaires volumineux d’un fichier de données nommé
my_table1_export.ixfdans une table nomméemy_db2_table. L’exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 vers lequel pointe l’aliasmy_s3_alias.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 commande
LOAD, consultez Commande LOAD.