Migration de données Db2 via Amazon S3 vers Amazon RDS for Db2 - Amazon Relational Database Service

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 pour charger les données de ce fichier de données dans une table de votre base de données Amazon RDS for Db2. Pour plus d’informations sur l’utilisation d’Amazon S3, consultez Intégration d’une instance de base de données Amazon RDS for Db2 avec Amazon S3.

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 :

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
  1. 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, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. 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_alias qui accorde à un utilisateur nommé jorge_souza l’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.

  3. 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 LOAD renvoie 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.csv dans une table nommée my_db2_table. L’exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 vers lequel pointe l’alias my_s3_alias.

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

    L’exemple suivant charge les objets binaires volumineux d’un fichier de données nommé my_table1_export.ixf dans une table nommée my_db2_table. L’exemple suppose que le fichier de données se trouve dans le compartiment Amazon S3 vers lequel pointe l’alias my_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.