Exécution de l'utilitaire de nettoyage de base de données dans un environnement de transfert

Vous pouvez utiliser l'utilitaire de nettoyage de la base de données pour nettoyer des données dans un environnement de bases de transfert lorsque vos bases de données d'environnement de transfert et de production sont synchronisées.

Chaque fois que vous voulez exécuter l'utilitaire de nettoyage de base de données dans votre environnement de transfert, répétez les étapes suivantes pour vous assurer que les bases de données de transfert et de production restent synchronisées pendant l'opération de nettoyage. Si vous souhaitez exécuter l'utilitaire uniquement sur votre serveur de production, vous n'avez pas besoin d'effectuer les étapes suivantes.

Important : Avant de travailler avec les fichiers SQL de cette tâche, copiez les fichiers de votre conteneur de l'utilitaire Docker dans le nœud de la base de données.

Procédure

  1. Exécutez l'utilitaire de propagation de transfert pour propager les dernières modifications à l'environnement de production et veillez que les bases de données d'environnement de transfert et de production sont synchronisées.
    Pour plus d'informations sur l'exécution de cet utilitaire, voir la rubrique stagingprop, utilitaire.
  2. Arrêtez l'environnement de transfert HCL Commerce. En arrêtant le serveur, vous empêchez les modifications de se produire dans la base de données de l'environnement de transfert avant que l'opération de nettoyage de base de données se termine.
  3. Exécutez l'utilitaire de nettoyage de base de données sur votre environnement de production pour éliminer tout ce qui est marqué pour suppression (markfordelete=1).
    Pour plus d'informations sur l'exécution de l'utilitaire et les paramètres de ligne de commande appropriés à utiliser pour votre environnement, voir Script de commande d'utilitaire de nettoyage de base de données.
  4. Retirez les déclencheurs de transfert de la base de données de transfert. Exécutez le fichier SQL wcs.droptrigger.sql sur la base de données de transfert pour supprimer ces déclencheurs :
    LinuxL'exécution du fichier SQL suivant peut prendre 5 à 10 minutes. Modifiez le propriétaire et la propriété du groupe de wasuser/wasgroup en dbuser/dbgroup de sorte que vous pouvez exécuter ce fichier en tant que dbuser. Exécutez le fichier en tant que dbuser de sorte que vous pouvez modifier les fichiers de déclenchement pour la base de données de transfert afin d'ajouter des tables à la liste de transfert dans le cadre de l'opération de nettoyage. Exécutez le fichier de déclenchement de suppression en tant que dbuser uniquement pour l'objectif et la durée de l'opération de nettoyage de base de données. Après avoir exécuté le fichier pour l'opération de nettoyage, rétablissez la propriété du fichier au propriétaire d'origine wasuser.
    1. Ouvrez une fenêtre d'invite shell en tant qu'utilisateurs root et exécutez la commande suivante pour modifier la propriété du fichier SQL de déclenchement de suppression :
      • DB2 chown dbuser/dbgroup rép_install_WC/schema/db2/wcs.droptrigger.sql
      • Oraclechown dbuser/dbgroup rép_install_WC/schema/oracle/wcs.droptrigger.sql
    2. Exécutez la commande suivante dans la fenêtre d'invite de shell pour changer d'utilisateur de sorte que vous pouvez exécuter le fichier SQL de déclenchement de suppression en tant que dbuser :

      su - dbuser

    3. Ouvrez une connexion à la base de données et exécutez le fichier SQL suivant :
      • DB2 WC_installdir\schema\db2\wcs.droptrigger.sql

        Par exemple, db2 -tdf wcs.droptrigger.sql

      • OracleWC_installdir\schema\oracle\wcs.droptrigger.sql
    4. Dans la fenêtre d'invite Shell, exécutez la commande suivante pour rétablir la propriété du dossier au propriétaire wasuser :
      • DB2 chown wasuser/wasgroup rép_install_WC/schema/db2/wcs.droptrigger.sql
      • Oraclechown wasuser/wasgroup rép_install_WC/schema/oracle/wcs.droptrigger.sql
  5. Exécutez l'utilitaire de nettoyage de base de données dans l'environnement de transfert pour supprimer tout enregistrement d'objet marqué pour la suppression (markfordelete=1). Utilisez les mêmes paramètres pour exécuter l'utilitaire que vous utilisiez précédemment.
    Lorsque l'utilitaire termine le nettoyage de la base de données, vos environnements de transfert et de production sont synchronisés.
  6. Créez ou recréez les déclencheurs de transfert pour la base de données de transfert. Pour créer ou recréer ces déclencheurs, exécutez le fichier SQL wcs.stage.trigger.sql sur la base de données de transfert :
    LinuxL'exécution du fichier SQL suivant peut prendre 5 à 10 minutes. Modifiez le propriétaire et la propriété du groupe de wasuser/wasgroup en dbuser/dbgroup de sorte que vous pouvez exécuter ce fichier en tant que dbuser. Exécutez le fichier en tant que dbuser de sorte que vous pouvez modifier les fichiers de déclenchement pour la base de données de transfert afin d'ajouter des tables à la liste de transfert dans le cadre de l'opération de nettoyage. Exécutez le fichier de déclenchement d'ajout en tant que dbuser uniquement pour l'objectif et la durée de l'opération de nettoyage de base de données. Après avoir exécuté le fichier pour l'opération de nettoyage, rétablissez la propriété du fichier au propriétaire d'origine wasuser.
    1. Ouvrez une fenêtre d'invite shell en tant qu'utilisateurs root et exécutez la commande suivante pour modifier la propriété du fichier de déclenchement d'ajout :
      • DB2 chown dbuser/dbgroup rép_install_WC/schema/db2/wcs.stage.trigger.sql
      • Oraclechown dbuser/dbgroup rép_install_WC/schema/oracle/wcs.stage.trigger.sql
    2. Exécutez la commande suivante dans la fenêtre d'invite de shell pour changer d'utilisateur de sorte que vous pouvez exécuter le fichier de déclenchement d'ajout en tant que dbuser :

      su - dbuser

    3. Ouvrez une connexion à la base de données et exécutez le fichier SQL suivant :
      • DB2 WC_installdir\schema\db2\wcs.stage.trigger.sql

        Lorsque vous exécutez ce fichier, précisez que le code SQL dans le fichier utilise '#' comme un agent de terminaison à la place de la terminaison standard. Par exemple, db2 -td# -vf wcs.stage.trigger.sql

      • OracleWC_installdir\schema\oracle\wcs.stage.trigger.sql
    4. Dans la fenêtre d'invite Shell, exécutez la commande suivante pour rétablir la propriété du dossier au propriétaire wasuser :
      • DB2 chown wasuser/wasgroup rép_install_WC/schema/db2/wcs.stage.trigger.sql
      • Oraclechown wasuser/wasgroup rép_install_WC/schema/oracle/wcs.stage.trigger.sql
  7. Démarrez l'environnement de transfert HCL Commerce.

Résultats

Vos bases de données de transfert et de production sont synchronisées et les bases de données nettoyées. La base de données de transfert est configurée pour écouter les modifications et pour enregistrer toutes les modifications de la table STAGLOG.