Exemples de copie de données dans la base de données prêtes pour la production

Les exemples suivants vous montrent comment copier des tables de la base de données de production vers la base de données prêtes pour la production. Il est important de garder en mémoire que vous ne pouvez pas faire appel à l'utilitaire stagingcopy si des demandes de devis se trouvent sur votre système de production.

Exemple 1

Remarque : Tapez la totalité de l'utilitaire sur une ligne unique. Dans ce document, les utilitaires sont présentés sur plusieurs lignes afin d'en améliorer la présentation, et uniquement pour cette raison.

Après avoir supprimé les données prêtes pour la production, copiez la base de données de production vers les données prêtes pour la production, après avoir défini une portée de niveau ALL (tous) :

  1. Ouvrez le Utility server Docker container.
  2. Entrez la commande suivante :
    • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2
    • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle
  3. Consultez le fichier stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log pour vérifier que l'utilitaire a abouti.
Pour définir le nom du fichier journal et son chemin d'accès, utilisez le paramètre de fichier journal suivant :
  • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -log log_file_name
  • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -log log_file_name

Si les options sourcedb_passwd et destdb_passwd ne sont pas fournies, l'utilisateur sera invité à les indiquer sur la ligne de commande.

Exemple 2

Après avoir nettoyé les tables de commerçant des données prêtes pour la production, copiez les tables associés aux commerçants de la base de données de production dans les données prêtes pour la production :

  1. Ouvrez le Utility server Docker container.
  2. Entrez la commande suivante :
    • DB2./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2
    • Oracle./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle
  3. Consultez le fichier stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log pour vérifier que l'utilitaire a abouti.
Pour supprimer uniquement les données prêtes pour la production, indiquez le paramètre -cleanup_stage_db :
  • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db only
  • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db only
Pour copier uniquement les données, indiquez le paramètre -cleanup_stage_db no :
  • DB2
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name 
         -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name 
         -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db no
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name 
         -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db no
  • Oracle
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db no
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db no
Remarque : La suppression des tables de site peut avoir des conséquences sur les tables de commerçant. Supprimez toujours les données de commerçant d'abord, puis les données de site. Ensuite, copiez les données de site d'abord, puis les données de commerçant.

Exemple 3

Après avoir supprimé les tables de commerçant des données prêtes pour la production, copiez les tables associés aux commerçants de la base de données de production dans la base de données de transfert.
  1. Ouvrez le Utility server Docker container.
  2. Entrez la commande suivante :
    • DB2./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2
    • Oracle./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle
  3. Consultez le fichier stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log pour vérifier que l'utilitaire a abouti.
La suppression des tables de site peut avoir des conséquences sur les tables de commerçant en raison de la restriction liée à la suppression de cascade. Supprimez les données de commerçant d'abord, puis les données de site, et copiez les données :
  • DB2
    • LinuxAIXFor IBM i OS operating system
      • stagingcopy.sh -scope _site_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db only -sourcedb_user user -destdb_user user
      • stagingcopy.sh -scope _site_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no -sourcedb_user user -destdb_user user
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no -sourcedb_user user -destdb_user user
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db only -sourcedb_user user -destdb_user user
  • Oracle
    • AIX
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db only dbtype oracle -sourcedb_user user -sourcedb_passwd password -destdb_user user -destdb_passwd password
      • stagingcopy.sh -scope _site_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no dbtype oracle -sourcedb_user user -sourcedb_passwd password -destdb_user user -destdb_passwd password
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no dbtype oracle -sourcedb_user user -sourcedb_passwd password -destdb_user user -destdb_passwd password
LinuxAIX

Exemple 4

Générez le script suivant pour nettoyer et copier la base de données de production dans la base de données de transfert en définissant une portée de niveau ALL (tous).

  1. Ouvrez le Utility server Docker container.
  2. Entrez la commande suivante :
    • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -script_file stage_copy.sql
    • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -script_file stage_copy.sql -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -script_file stage_copy.sql
  3. Consultez le fichier stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log pour vérifier que l'utilitaire a abouti.

L'utilitaire stagingcopy génère le script stage_copy.sql pour nettoyer et copier la base de données.

Copiez les fichiers suivants sur votre serveur de base de données :
  • stage_copy.sql
  • utilities_root/schema/9.0.0.0/dbtype/wcs.stage.trigger.sql
  • utilities_root/schema/9.0.0.0/dbtype/wcs.droptrigger.sql
dbtype est db2 ou oracle.
DB2 Exécutez les scripts suivants :
  1. LinuxEntrez su - WC_non_root_user, où WC_non_root_user est l'utilisateur non racine sous lequel HCL Commerce s'exécute. WC_non_root_user a généralement pour valeur wasuser.
  2. Ouvrez une fenêtre de commande DB2, puis entrez :
    • db2 -vtd# -f wcs.droptrigger.sql
    • db2 -vtd# -f stage_copy.sql
    • db2 -vtd# -f wcs.stage.trigger.sql
Oracle Exécutez les scripts suivants :
  1. Ouvrez une session.
  2. Ouvrez une fenêtre SQLPlus.
  3. Connectez-vous en tant qu'administrateur de base de données et entrez :
    • @wcs.droptrigger.sql
    • @stage_copy.sql
    • @wcs.stage.trigger.sql