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 seule table dans un fichier de données que vous placez dans un compartiment Amazon S3. Vous utilisez ensuite la LOADcommande 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, consultezIntégration d'une instance de base de données Amazon RDS for Db2 à Amazon S3.

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 :

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
  1. 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, remplacez master_username and master_password avec 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 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.

  3. 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ée my_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 into my_db2_table";

    L'exemple suivant charge LOBs à partir 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 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.