Utilisation d'IBM Db2 pour z/OS comme source pour AWS SCT - AWS Schema Conversion Tool

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.

Utilisation d'IBM Db2 pour z/OS comme source pour AWS SCT

Vous pouvez l'utiliser AWS SCT pour convertir des schémas, des objets de code et du code d'application depuis IBM Db2 pour z/OS vers les cibles suivantes.

  • Amazon RDS for MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

Prérequis pour utiliser Db2 pour z/OS en tant que base de données source

La version de base de données de niveau de fonction 100 d'IBM Db2 pour z/OS version 12 ne prend pas en charge la plupart des nouvelles fonctionnalités d'IBM Db2 for z/OS version 12. Cette version de base de données permet de revenir à la version 11 de DB2 et de partager des données avec la version 11 de DB2. Pour éviter la conversion de fonctionnalités non prises en charge de la version 11 de Db2, nous vous recommandons d'utiliser une fonction de base de données IBM Db2 pour z/OS de niveau 500 ou supérieur comme source pour. AWS SCT

Vous pouvez utiliser l'exemple de code suivant pour vérifier la version de votre base de données source IBM Db2 for z/OS.

SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;

Assurez-vous que ce code renvoie la version DSN12015 ou une version supérieure.

Vous pouvez utiliser l'exemple de code suivant pour vérifier la valeur du registre APPLICATION COMPATIBILITY spécial dans votre base de données source IBM Db2 for z/OS.

SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;

Assurez-vous que ce code renvoie la version V12R1M500 ou une version supérieure.

Privilèges pour Db2 pour z/OS en tant que base de données source

Les privilèges nécessaires pour se connecter à une base de données Db2 pour z/OS et lire les catalogues et les tables du système sont les suivants :

  • SÉLECTIONNEZ SUR SYSIBM.LOCATIONS

  • SÉLECTIONNEZ SUR SYSIBM.SYSCHECKS

  • SÉLECTIONNEZ SUR SYSIBM.SYSCOLUMNS

  • SÉLECTIONNEZ SUR SYSIBM.SYSDATABASE

  • SÉLECTIONNEZ SUR SYSIBM.SYSDATATYPES

  • SÉLECTIONNEZ SUR SYSIBM.SYSDUMMY1

  • SÉLECTIONNEZ SUR SYSIBM.SYSFOREIGNKEYS

  • SÉLECTIONNEZ SUR SYSIBM.SYSINDEXES

  • SÉLECTIONNEZ SUR SYSIBM.SYSKEYCLUSE

  • SÉLECTIONNEZ SUR SYSIBM.SYSKEYS

  • SÉLECTIONNEZ SUR SYSIBM.SYSKEYTARGETS

  • SÉLECTIONNEZ SUR SYSIBM.SYSJAROBJECTS

  • SÉLECTIONNEZ SUR SYSIBM.SYSPACKAGE

  • SÉLECTIONNEZ SUR SYSIBM.SYSPARMS

  • SÉLECTIONNEZ SUR SYSIBM.SYSRELS

  • SÉLECTIONNEZ SUR SYSIBM.SYSROUTINES

  • SÉLECTIONNEZ SUR SYSIBM.SYSSEQUENCE

  • SÉLECTIONNEZ SUR SYSIBM.SYSSEQUENCESDEP

  • SÉLECTIONNEZ SUR SYSIBM.SYSSYNONYMS

  • SÉLECTIONNEZ SUR SYSIBM.SYSTABCONST

  • SÉLECTIONNEZ SUR SYSIBM.SYSTABLES

  • SÉLECTIONNEZ SUR SYSIBM.SYSTABLESPACE

  • SÉLECTIONNEZ SUR SYSIBM.SYSTRIGGERS

  • SÉLECTIONNEZ SUR SYSIBM.SYSVARIABLES

  • SÉLECTIONNEZ SUR SYSIBM.SYSVIEWS

Pour convertir des tables Db2 pour z/OS en tables partitionnées PostgreSQL, collectez des statistiques sur les tablespaces et les tables de votre base de données à l'aide de l'utilitaire comme indiqué ci-dessous. RUNSTATS

LISTDEF YOURLIST INCLUDE TABLESPACES DATABASE YOURDB RUNSTATS TABLESPACE LIST YOURLIST TABLE (ALL) INDEX (ALL KEYCARD) UPDATE ALL REPORT YES SHRLEVEL REFERENCE

Dans l'exemple précédent, remplacez l'YOURDBespace réservé par le nom de la base de données source.

Connexion à Db2 pour z/OS en tant que source

Utilisez la procédure suivante pour vous connecter à votre base de données source Db2 pour z/OS avec. AWS SCT

Pour vous connecter à une base de données source IBM Db2 pour z/OS
  1. Dans leAWS Schema Conversion Tool, choisissez Ajouter une source.

  2. Choisissez Db2 pour z/OS, puis choisissez Next.

    La boîte de dialogue Ajouter une source s'affiche.

  3. Dans Nom de connexion, entrez le nom de votre base de données. AWS SCTaffiche ce nom dans l'arborescence du panneau de gauche.

  4. Utilisez les informations d'identification de base de données AWS Secrets Manager ou saisissez-les manuellement :

    • Pour utiliser les informations d'identification de base de données depuis Secrets Manager, suivez les instructions suivantes :

      1. Pour AWSSecret, choisissez le nom du secret.

      2. Choisissez Remplir pour renseigner automatiquement toutes les valeurs dans la boîte de dialogue de connexion à la base de données depuis Secrets Manager.

      Pour plus d'informations sur l'utilisation des informations d'identification de base de données depuis Secrets Manager, reportez-vous à la sectionUtiliser AWS Secrets Manager.

    • Pour saisir manuellement les informations de connexion à la base de données source IBM Db2 for z/OS, suivez les instructions suivantes :

      Paramètre Action
      Server name

      Entrez le nom du système de noms de domaine (DNS) ou l'adresse IP de votre serveur de base de données source.

      Server port

      Indiquez le port utilisé pour vous connecter au serveur de la base de données source.

      Emplacement

      Entrez le nom unique de l'emplacement DB2 auquel vous souhaitez accéder.

      User name et Password

      Entrez les informations d'identification de la base de données pour vous connecter à votre serveur de base de données source.

      AWS SCTutilise le mot de passe pour se connecter à votre base de données source uniquement lorsque vous choisissez de vous connecter à votre base de données dans le cadre d'un projet. Pour éviter d'exposer le mot de passe de votre base de données source, AWS SCT ne le stocke pas par défaut. Si vous fermez et rouvrez votre projet AWS SCT, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire.

      Use SSL

      Choisissez cette option si vous souhaitez utiliser le protocole SSL (Secure Sockets Layer) pour vous connecter à votre base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL :

      • Store de confiance : emplacement d'un magasin de confiance contenant des certificats. Pour que cet emplacement apparaisse ici, assurez-vous de l'ajouter dans les paramètres généraux.

      Mot de passe du magasin

      AWS SCT crée un coffre-fort sécurisé pour stocker les certificats SSL et les mots de passe de base de données. En activant cette option, vous pouvez enregistrer le mot de passe de la base de données et vous connecter rapidement à la base de données sans avoir à saisir le mot de passe.

      Chemin du pilote Db2 pour z/OS

      Entrez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, veuillez consulter Téléchargement des pilotes de base de données requis.

      Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, veuillez consulter Stockage des chemins des pilotes dans les paramètres globaux.

  5. Choisissez Tester la connexion pour vérifier qu'elle AWS SCT peut se connecter à votre base de données source.

  6. Choisissez Connect pour vous connecter à votre base de données source.

Privilèges pour MySQL en tant que base de données cible

Les privilèges requis pour MySQL en tant que cible sont les suivants :

  • CRÉER SUR * . *

  • ALTER SUR * . *

  • DÉPOSEZ-LE* . *

  • INDEX SUR * . *

  • RÉFÉRENCES SUR* . *

  • SELECT ON *.*

  • CRÉER UNE VUE SUR* . *

  • SHOW VIEW ON *.*

  • DÉCLENCHEUR ACTIVÉ * . *

  • CRÉER UNE ROUTINE SUR* . *

  • MODIFIER LA ROUTINE SUR * . *

  • EXÉCUTER SUR* . *

  • SELECT ON mysql.proc

  • INSÉRER, METTRE À JOUR SUR AWS_DB2ZOS_EXT. *

  • INSÉRER, METTRE À JOUR, SUPPRIMER SUR AWS_DB2ZOS_EXT_DATA. *

  • CRÉEZ DES TABLES TEMPORAIRES SUR AWS_DB2ZOS_EXT_DATA. *

Vous pouvez utiliser l'exemple de code suivant pour créer un utilisateur de base de données et lui accorder des privilèges.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT SELECT ON mysql.proc TO 'user_name'; GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';

Dans l'exemple précédent, remplacez user_name par le nom de votre utilisateur. Remplacez ensuite your_password par un mot de passe sécurisé.

Pour utiliser Amazon RDS pour MySQL comme cible, définissez le log_bin_trust_function_creators paramètre sur true, puis character_set_server surlatin1. Pour configurer ces paramètres, créez un nouveau groupe de paramètres de base de données ou modifiez un groupe de paramètres de base de données existant.

Pour utiliser Aurora MySQL comme cible, définissez le log_bin_trust_function_creators paramètre sur true, puis character_set_server surlatin1. Définissez également le lower_case_table_names paramètre sur true. Pour configurer ces paramètres, créez un nouveau groupe de paramètres de base de données ou modifiez un groupe de paramètres de base de données existant.

Privilèges pour PostgreSQL en tant que base de données cible

Pour utiliser PostgreSQL comme cible, vous devez disposer de ce AWS SCT privilège. CREATE ON DATABASE Assurez-vous d'accorder ce privilège pour chaque base de données PostgreSQL cible.

Pour utiliser Amazon RDS pour PostgreSQL comme cible, vous devez disposer de ce AWS SCT privilège. rds_superuser

Pour utiliser les synonymes publics convertis, remplacez le chemin de recherche par défaut de la base de données par"$user", public_synonyms, public.

Vous pouvez utiliser l'exemple de code suivant pour créer un utilisateur de base de données et lui accorder des privilèges.

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; GRANT rds_superuser TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

Dans l'exemple précédent, remplacez user_name par le nom de votre utilisateur. Remplacez ensuite db_name par le nom de votre base de données cible. Enfin, remplacez your_password par un mot de passe sécurisé.

Dans PostgreSQL, seul le propriétaire du schéma ou a superuser peut supprimer un schéma. Le propriétaire peut supprimer un schéma et tous les objets qu'il inclut même si le propriétaire du schéma ne possède pas certains de ses objets.

Lorsque vous utilisez différents utilisateurs pour convertir et appliquer différents schémas à votre base de données cible, un message d'erreur peut s'afficher lorsque vous ne AWS SCT pouvez pas supprimer un schéma. Pour éviter ce message d'erreur, utilisez le superuser rôle.

Paramètres de conversion de Db2 pour z/OS vers PostgreSQL

Pour modifier les paramètres de conversion de Db2 pour z/OS vers PostgreSQL, choisissez Paramètres, puis Paramètres de conversion. Dans la liste supérieure, choisissez Db2 pour z/OS, puis choisissez Db2 pour z/OS — PostgreSQL ou Db2 pour z/OS — Amazon Aurora (compatible PostgreSQL). AWS SCTaffiche tous les paramètres disponibles pour la conversion d'IBM Db2 pour z/OS vers PostgreSQL.

Les paramètres de conversion de Db2 pour z/OS vers PostgreSQL AWS SCT incluent des options pour les éléments suivants :

  • Pour limiter le nombre de commentaires contenant des actions dans le code converti.

    Pour Ajouter des commentaires dans le code converti pour les actions de gravité sélectionnée ou supérieure, choisissez la gravité des actions. AWS SCTajoute des commentaires dans le code converti pour les actions ayant le niveau de gravité sélectionné ou supérieur.

    Par exemple, pour minimiser le nombre de commentaires dans votre code converti, sélectionnez Erreurs uniquement. Pour inclure des commentaires pour toutes les actions dans votre code converti, choisissez Tous les messages.

  • Pour générer des noms uniques pour les contraintes de la base de données cible.

    Dans PostgreSQL, tous les noms de contraintes que vous utilisez doivent être uniques. AWS SCTpeut générer des noms uniques pour les contraintes dans le code converti en ajoutant un préfixe avec le nom de la table au nom de votre contrainte. Pour vous assurer que cela AWS SCT génère des noms uniques pour vos contraintes, sélectionnez Générer des noms uniques pour les contraintes.

  • Pour conserver la mise en forme des noms de colonnes, des expressions et des clauses des instructions DML dans le code converti.

    AWS SCTpeut conserver la disposition des noms de colonnes, des expressions et des clauses dans les instructions DML dans la même position et dans le même ordre que dans le code source. Pour ce faire, sélectionnez Oui pour conserver la mise en forme des noms de colonnes, des expressions et des clauses dans les instructions DML.

  • Pour exclure les partitions de table de la zone de conversion.

    AWS SCTpeut ignorer toutes les partitions d'une table source lors de la conversion. Pour ce faire, sélectionnez Exclure les partitions de table de la zone de conversion.

  • Pour utiliser le partitionnement automatique pour les tables partitionnées par croissance.

    Pour la migration des données, AWS SCT peut partitionner automatiquement toutes les tables dont la taille est supérieure à la taille spécifiée. Pour utiliser cette option, sélectionnez Appliquer la partition des tables supérieures à et entrez la taille des tables en gigaoctets. Entrez ensuite le nombre de partitions. AWS SCTprend en compte la taille du périphérique de stockage à accès direct (DASD) de votre base de données source lorsque vous activez cette option.

    AWS SCTpeut déterminer automatiquement le nombre de partitions. Pour ce faire, sélectionnez Augmenter le nombre de partitions proportionnellement et entrez le nombre maximum de partitions.

  • Pour renvoyer des ensembles de résultats dynamiques sous forme de tableau de valeurs du type de données refcursor.

    AWS SCTpeut convertir les procédures source qui renvoient des ensembles de résultats dynamiques en procédures comportant un tableau de curseurs ouverts en tant que paramètre de sortie supplémentaire. Pour ce faire, sélectionnez Utiliser un tableau de curseurs pour renvoyer tous les jeux de résultats dynamiques.

  • Spécifier la norme à utiliser pour la conversion des valeurs de date et d'heure en représentations sous forme de chaîne.

    AWS SCTpeut convertir les valeurs de date et d'heure en représentations sous forme de chaîne à l'aide de l'un des formats industriels pris en charge. Pour ce faire, sélectionnez Utiliser des représentations sous forme de chaînes de valeurs de date ou Utiliser des représentations sous forme de chaîne de valeurs temporelles. Choisissez ensuite l'une des normes suivantes.

    • Organisation internationale de normalisation (ISO)

    • Norme européenne IBM (EUR)

    • IBM USA Standard (États-Unis)

    • Norme industrielle japonaise de l'ère chrétienne (JIS)