Cet utilitaire copie des données de la base de production dans la base de transfert. Vous pouvez copier les données dans des tables relatives aux sites, dans celles relatives aux commerçants ou dans des tables individuelles. Vous pouvez également nettoyer la base de données de transfert avant exécution de l'utilitaire de copie au moyen de le paramètre cleanup_stage_db dans la syntaxe de l'instruction. Si vous spécifiez *yes, l'utilitaire de copie nettoie toutes les tables de transfert avant de copier les données. Ceci peut avoir des répercussions sur d'autres tables en raison des suppressions en cascade. Si indiquez cochez *no, l'utilitaire de copie ne supprime rien dans les tables de transfert. Votre copie peut échouer si les données de copie génèrent un conflit ou une autre clé sur la clé primaire ou des index à entrées uniques. Pour limiter l'utilitaire de copie au nettoyage de votre base de données de transfert, spécifiez *only.
L'utilitaire de copie et celui de propagation divisent les données de la base de données en deux niveaux d'application : celles propres aux sites et celles propres aux commerçants. L'environnement du site comprend les données communes à tous les commerçants du système. Par exemple, la langue et le code de pays utilisés par le système. L'environnement commerçant comprend des données relatives aux différents commerçants. Par exemple, les informations sur le magasin sont personnalisées pour les commerçants pris individuellement et chaque ligne des tables du magasin correspond à un commerçant. Certaines tables de la base de données contiennent à la fois les informations concernant le site et celles relatives au commerçant. Dans l'utilitaire de copie, si vous spécifiez _all_ pour le paramètre SCOPE, les données du site sont copiées, suivies de toutes celles du commerçant. Si vous cochez _site_, seules les données du site seront copiées. Si vous spécifiez _merchant_, la copie ne porte que sur les données du commerçant. Vous n'avez pas la possibilité de copier les données concernant un seul commerçant ; vous devez copier les données de tous les commerçants. Si vous ne définissez pas la portée sur _all_, copiez les données du site avant celles du commerçant, puisque les premières sont utilisées par tous les commerçants. Sinon, votre copie échouera en raison d'une non-concordance entre la clé associée et la clé primaire. Lorsque vous utilisez l'option cleanup_stage_db pour nettoyer les données de votre site, notez que les données du commerçant risquent d'être supprimées du fait de la suppression en cascade. Il est donc préférable de nettoyer les données relatives au commerçant, puis celles concernant le site ; copiez ensuite les données du site, puis celles du commerçant si la portée n'est pas définie à _all_.
Une autre option avec l'utilitaire de copie est le paramètre script_file. En spécifiant un nom de fichier script, l'utilitaire de copie génère un fichier script SQL qui utilise l'exportation et l'importation pour copier la base de données de production vers celle de transfert en fonction de la portée spécifiée. Des instructions de suppression sont également générées pour nettoyer la base de données de transfert si vous utilisez les valeurs par défaut ou cochez pour cleanup_stage_db la case yes. Le fichier script se trouve dans le répertoire à partir duquel vous démarrez l'utilitaire de copie. Le fichier script accélère le processus de copie de la base de données en utilisant les exportations et les importations. Vous pouvez également modifier le comportement de l'utilitaire en modifiant le fichier script. Par exemple, pour utiliser l'utilitaire de chargement DB2 plutôt que celui d'importation, ce qui accélère encore le processus de copie. Veuillez noter que le script généré exporte toutes les tables vers le répertoire d'où vous exécutez l'utilitaire. Vérifiez que l'espace disque y est suffisant.
Il est important de comprendre la portée de la transaction. Lors du nettoyage de la base de données de transfert, l'utilitaire de copie de transfert confirme la transaction après le nettoyage de chaque table. Lorsque vous copiez les données, cet utilitaire confirme la transaction après la copie de chaque table et la synchronisation de la table KEYS. En ce qui concerne les scripts générés, la portée de la transaction est légèrement différente du fait de l'utilitaire d'importation DB2. Celui-ci valide automatiquement la transaction à la fin de l'importation. Ainsi, la transaction sera confirmée avant la synchronisation de la table KEYS. De cette manière, la synchronisation de la table KEYS est effectuée dans une transaction distincte.
Vous pouvez spécifier le nettoyage ou la copie d'une table à l'aide du paramètre dbtable. Lorsque vous précisez quelle table nettoyer ou copier, celle-ci peut ne pas être isolée. Certaines tables sont liées entre elles par des contraintes référentielles. Si vous nettoyez une table en particulier, les tables enfants seront également nettoyées par les suppressions en cascade. Si vous copiez une table en particulier, vous devez tout d'abord copier la table parent. Sinon, le nettoyage ou la copie échouera.
L'utilitaire de copie de transfert peut être configuré et étendu. Pour qu'il puisse traiter les tables personnalisées, celles-ci doivent satisfaire certaines conditions ; les tables de configuration du transfert doivent également être définies. Pour plus de détails, reportez-vous à la Configuration du serveur de transfert pour des tables personnalisées. Avant de pouvoir utiliser l'utilitaire de copie, vous devez respecter les étapes de la rubrique Configuration de la base de données. L'utilitaire de copie supprime tous les enregistrements de la table STAGLOG si l'instruction aboutit.
Remarque : Vous ne pouvez utiliser l'instruction de copie si des objets RFQ sont sur votre système. Pour plus d'informations, reportez-vous à la rubrique Limites du serveur de transfert.
![]() |