ibm infosphere replication server ibm infosphere data event...

337
IBM InfoSphere Replication Server IBM InfoSphere Data Event Publisher Référence du programme ASNCLP pour la réplication et la publication d’événements Version 9.7 SC19-1018-04

Upload: others

Post on 17-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • IBM InfoSphere Replication ServerIBM InfoSphere Data Event Publisher

    Référence du programme ASNCLP pour la réplication et la publicationd’événements

    Version 9.7

    SC19-1018-04

    ���

  • IBM InfoSphere Replication ServerIBM InfoSphere Data Event Publisher

    Référence du programme ASNCLP pour la réplication et la publicationd’événements

    Version 9.7

    SC19-1018-04

    ���

  • ImportantAvant d’utiliser le présent document et le produit associé, prenez connaissance des informations générales figurant dans«Remarques», à la page 317.

    Quatrième édition - juillet 2009

    Réf. US : SC19-1018-04

    LE PRESENT DOCUMENT EST LIVRE EN L’ETAT SANS AUCUNE GARANTIE EXPLICITE OU IMPLICITE. IBMDECLINE NOTAMMENT TOUTE RESPONSABILITE RELATIVE A CES INFORMATIONS EN CAS DECONTREFACON AINSI QU’EN CAS DE DEFAUT D’APTITUDE A L’EXECUTION D’UN TRAVAIL DONNE.

    Ce document est mis à jour périodiquement. Chaque nouvelle édition inclut les mises à jour. Les informations qui ysont fournies sont susceptibles d’être modifiées avant que les produits décrits ne deviennent eux-mêmesdisponibles. En outre, il peut contenir des informations ou des références concernant certains produits, logiciels ouservices non annoncés dans ce pays. Cela ne signifie cependant pas qu’ils y seront annoncés.

    Pour plus de détails, pour toute demande d’ordre technique, ou pour obtenir des exemplaires de documents IBM,référez-vous aux documents d’annonce disponibles dans votre pays, ou adressez-vous à votre partenairecommercial.

    Vous pouvez également consulter les serveurs Internet suivants :v http://www.fr.ibm.com (serveur IBM en France)v http://www.can.ibm.com (serveur IBM au Canada)v http://www.ibm.com (serveur IBM aux Etats-Unis)Compagnie IBM FranceDirection QualitéTour Descartes92066 Paris-La Défense Cedex 50

    © Copyright IBM France 2009. Tous droits réservés.

    © Copyright International Business Machines Corporation 2004, 2009.

    http://www.fr.ibm.comhttp://www.can.ibm.comhttp://www.ibm.com

  • Table des matières

    Avis aux lecteurs canadiens . . . . . vii

    Chapitre 1. Démarrage avec leprogramme ASNCLP . . . . . . . . . 1Systèmes d’exploitation pris en charge. . . . . . 1Configuration d’un environnement Java pourexécuter le programme ASNCLP. . . . . . . . 1Liaison de packages z/OS pour le programmeASNCLP. . . . . . . . . . . . . . . . 2Exécution des commandes ASNCLP en modeinteractif . . . . . . . . . . . . . . . . 3Exécution de commandes ASNCLP en moded’exécution immédiate . . . . . . . . . . . 3Exécution des commandes ASNCLP via un fichier enentrée. . . . . . . . . . . . . . . . . 4Fichier de configuration ASNCLP . . . . . . . 4

    Chapitre 2. Commandes ASNCLP pour laréplication SQL . . . . . . . . . . . 7Exemple de scripts ASNCLP pour configurer uneréplication SQL . . . . . . . . . . . . . 8Commande ALTER MEMBER ADD COLS . . . . 12Commande ALTER REGISTRATION . . . . . . 13Commande ALTER SUBSCRIPTION SET . . . . 16Commande ASNCLP SESSION SET TO (réplicationSQL) . . . . . . . . . . . . . . . . 18Commande CREATE CONTROL TABLES FOR(réplication SQL) . . . . . . . . . . . . 19Commande CREATE MEMBER. . . . . . . . 21Commande CREATE REGISTRATION . . . . . 30Commande CREATE STMT . . . . . . . . . 36Commande CREATE SUBSCRIPTION SET . . . . 37Commande DROP CONTROL TABLES ON . . . 39Commande DROP MEMBER . . . . . . . . 42Commande DROP REGISTRATION . . . . . . 43Commande DROP STMT . . . . . . . . . . 44Commande DROP SUBSCRIPTION SET . . . . . 44Commande OFFLINE LOAD . . . . . . . . 45Commande PROMOTE REGISTRATION . . . . 46Commande PROMOTE SUBSCRIPTION SET . . . 48Commande SET CAPTURE SCHEMA (réplicationSQL) . . . . . . . . . . . . . . . . 49Commande SET DROP (réplication SQL) . . . . 50Commande SET LOG . . . . . . . . . . . 52Commande SET OUTPUT (réplication SQL) . . . 52Commande SET PROFILE (réplication SQL) . . . 53Commande SET RUN SCRIPT (réplication SQL) . . 57Commande SET SERVER (réplication SQL) . . . . 60Commande SET TRACE . . . . . . . . . . 63

    Chapitre 3. Exemples de scriptsASNCLP pour la réplication Q. . . . . 65Exemple de scripts ASNCLP pour configurer uneréplication Q unidirectionnelle . . . . . . . . 65

    Exemples de scripts ASNCLP permettant deconfigurer la réplication Q unidirectionnelle à partird’une source de données classique. . . . . . . 69Exemples de scripts ASNCLP permettant deconfigurer la réplication Q bidirectionnelle . . . . 73Exemple de scripts ASNCLP pour configurer uneréplication Q entre homologues (deux serveurs) . . 79Exemples de scripts ASNCLP pour configurer uneréplication Q entre homologues (trois serveurs) . . 85Exemple de script ASNCLP pour la promotion desconfigurations unidirectionnelles . . . . . . . 92Exemple de scripts ASNCLP pour la promotion desconfigurations entre homologues . . . . . . . 93

    Chapitre 4. Commandes ASNCLP pourla réplication Q unidirectionnelle . . . 97Commande ALTER ADD COLUMN . . . . . . 98Commande ALTER CAPTURE PARAMETERS(réplication Classic) . . . . . . . . . . . 100Commande ALTER CONFIGURATION APPLY . . 101Commande ALTER REPLQMAP . . . . . . . 101Commande ALTER QSUB (réplicationunidirectionnelle) . . . . . . . . . . . . 104Commande ASNCLP SESSION SET TO . . . . 108Commande CREATE CONTROL TABLES FOR . . 109Commande CREATE REPLQMAP . . . . . . 115Commande CREATE QSUB (réplicationunidirectionnelle) . . . . . . . . . . . . 117Commande DROP CONTROL TABLES ON . . . 133Commande DROP REPLQMAP . . . . . . . 133commande DROP QSUB (réplication Qunidirectionnelle) . . . . . . . . . . . . 134Commande LIST QSUB (réplication Q) . . . . . 135Commande LIST APPLY SCHEMA . . . . . . 136Commande LIST CAPTURE SCHEMA . . . . . 137Commande LIST REPLQMAP (réplication Q). . . 138Commande LOAD DONE . . . . . . . . . 140Commande PROMOTE QSUB . . . . . . . . 142Commande PROMOTE REPLQMAP . . . . . 143Commande SET APPLY SCHEMA . . . . . . 145Commande SET CAPTURE SCHEMA . . . . . 146Commande SET DROP (réplicationunidirectionnelle) . . . . . . . . . . . . 146Commande SET LOG . . . . . . . . . . 147Commande SET OUTPUT . . . . . . . . . 148Commande SET PROFILE . . . . . . . . . 149Commande SET QMANAGER . . . . . . . 152Commande SET RUN SCRIPT. . . . . . . . 153Commande SET SERVER . . . . . . . . . 157Commande SET TRACE. . . . . . . . . . 160Commande SHOW SET ENV . . . . . . . . 160Commande START QSUB . . . . . . . . . 161Commande STOP QSUB. . . . . . . . . . 162commande VALIDATE WSMQ ENVIRONMENTFOR . . . . . . . . . . . . . . . . 163

    © Copyright IBM Corp. 2004, 2009 iii

  • Commande VALIDATE WSMQ MESSAGE FLOWFOR REPLQMAP . . . . . . . . . . . . 165

    Chapitre 5. Commandes ASNCLP pourla réplication Q multidirectionnelle . . 167Commande ALTER REPLQMAP . . . . . . . 169Commande ALTER QSUB (réplicationbidirectionnelle) . . . . . . . . . . . . 171commande ALTER QSUB (réplication entrehomologues) . . . . . . . . . . . . . 173Commande ASNCLP SESSION SET TO . . . . 175Commande CREATE CONTROL TABLES FOR . . 175Commande CREATE REPLQMAP . . . . . . 182Commande CREATE QSUB (réplicationbidirectionnelle) . . . . . . . . . . . . 184commande CREATE QSUB (réplication entrehomologues) . . . . . . . . . . . . . 188Commande DROP CONTROL TABLES ON . . . 192Commande DROP REPLQMAP . . . . . . . 192Commande DROP SUBGROUP (réplication Qmultidirectionnelle) . . . . . . . . . . . 193Commande DROP SUBTYPE (réplicationbidirectionnelle) . . . . . . . . . . . . 193Commande DROP SUBTYPE (réplication entrehomologues) . . . . . . . . . . . . . 194Commande LIST APPLY SCHEMA . . . . . . 195Commande LIST CAPTURE SCHEMA . . . . . 196Commande LOAD DONE . . . . . . . . . 197Commande LOAD MULTIDIR REPL SCRIPT(réplication Q multidirectionnelle) . . . . . . 198Commande PROMOTE QSUB . . . . . . . . 200Commande PROMOTE REPLQMAP . . . . . 201Commande SET APPLY SCHEMA . . . . . . 203Commande SET BIDI NODE . . . . . . . . 204Commande SET CAPTURE SCHEMA . . . . . 205Commande SET CONNECTION (réplication Qmultidirectionnelle) . . . . . . . . . . . 206Commande SET ENFORCE MATCHINGCONSTRAINTS (réplication Q multidirectionnelle) . 207Commande SET LOG . . . . . . . . . . 208commande SET MULTIDIR SCHEMA (réplicationQ multidirectionnelle) . . . . . . . . . . 208Commande SET OUTPUT (réplication Qmultidirectionnelle) . . . . . . . . . . . 209Commande SET PEER NODE . . . . . . . . 209Commande SET PROFILE . . . . . . . . . 211Commande SET QMANAGER . . . . . . . 215Commande SET REFERENCE TABLE (réplicationQ multidirectionnelle) . . . . . . . . . . 216Commande SET SERVER (réplication Qmultidirectionnelle) . . . . . . . . . . . 217commande SET SUBGROUP (réplication Qmultidirectionnelle) . . . . . . . . . . . 218Commande SET TABLES (réplication Qmultidirectionnelle) . . . . . . . . . . . 219Commande SET TRACE. . . . . . . . . . 220Commande SHOW SET ENV . . . . . . . . 220Commande START QSUB . . . . . . . . . 221Commande STOP QSUB. . . . . . . . . . 222commande VALIDATE WSMQ ENVIRONMENTFOR . . . . . . . . . . . . . . . . 223

    Commande VALIDATE WSMQ MESSAGE FLOWFOR REPLQMAP . . . . . . . . . . . . 224

    Chapitre 6. Commandes ASNCLP pourla publication d’événements . . . . . 227Exemples de scripts ASNCLP pour configurer lapublication d’événements . . . . . . . . . 228Commande ALTER ADD COLUMN. . . . . . 231commande ALTER PUB . . . . . . . . . . 233Commande ALTER PUBQMAP . . . . . . . 235Commande ASNCLP SESSION SET TO . . . . 237Commande CREATE CONTROL TABLES FOR . . 237commande CREATE PUB . . . . . . . . . 244Commande CREATE PUBQMAP . . . . . . . 247Commande DROP CONTROL TABLES ON . . . 250Commande DROP PUB . . . . . . . . . . 250Commande DROP PUBQMAP . . . . . . . 251Commande LIST CAPTURE SCHEMA . . . . . 251Commande LIST PUBS . . . . . . . . . . 252commande LIST PUBQMAPS . . . . . . . . 253Commande PROMOTE PUB . . . . . . . . 255Commande PROMOTE PUBQMAP . . . . . . 256Commande SET CAPTURE SCHEMA . . . . . 257Commande SET LOG . . . . . . . . . . 258Commande SET OUTPUT . . . . . . . . . 259Commande SET QMANAGER . . . . . . . 259Commande SET RUN SCRIPT. . . . . . . . 260Commande SET SERVER (publicationd’événements) . . . . . . . . . . . . . 264Commande SET TRACE. . . . . . . . . . 266commande START PUB . . . . . . . . . . 267Commande STOP PUB . . . . . . . . . . 267commande VALIDATE WSMQ ENVIRONMENTFOR . . . . . . . . . . . . . . . . 268

    Chapitre 7. Commandes ASNCLP dumoniteur d’alertes de réplication . . . 271Exemples de scripts ASNCLP pour configurer lemoniteur d’alertes de réplication . . . . . . . 272Commande ALTER ALERT CONDITIONS FORAPPLY . . . . . . . . . . . . . . . 275Commande ALTER ALERT CONDITIONS FORCAPTURE . . . . . . . . . . . . . . 278Commande ALTER ALERT CONDITIONS FORQAPPLY . . . . . . . . . . . . . . . 281Commande ALTER ALERT CONDITIONS FORQCAPTURE . . . . . . . . . . . . . . 283Commande ALTER CONTACT . . . . . . . 285Commande ALTER GROUP . . . . . . . . 286Commande ALTER MONITOR SUSPENSION . . 287Commande ALTER MONITOR SUSPENSIONTEMPLATE . . . . . . . . . . . . . . 288Commande CREATE ALERT CONDITIONS FORAPPLY . . . . . . . . . . . . . . . 289Commande CREATE ALERT CONDITIONS FORCAPTURE . . . . . . . . . . . . . . 291Commande CREATE ALERT CONDITIONS FORQAPPLY . . . . . . . . . . . . . . . 293Commande CREATE ALERT CONDITIONS FORQCAPTURE . . . . . . . . . . . . . . 295

    iv IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Commande CREATE CONTACT . . . . . . . 297Commande CREATE CONTROL TABLES FOR . . 297Commande CREATE GROUP . . . . . . . . 300Commande CREATE MONITOR SUSPENSION 300Commande CREATE MONITOR SUSPENSIONTEMPLATE . . . . . . . . . . . . . . 302Commande DELEGATE CONTACT . . . . . . 303Commande DROP ALERT CONDITIONS FORAPPLY . . . . . . . . . . . . . . . 303Commande DROP ALERT CONDITIONS FORCAPTURE . . . . . . . . . . . . . . 304Commande DROP ALERT CONDITIONS FORQAPPLY . . . . . . . . . . . . . . . 304Commande DROP ALERT CONDITIONS FORQCAPTURE . . . . . . . . . . . . . . 304Commande DROP CONTACT. . . . . . . . 306Commande DROP GROUP . . . . . . . . . 306Commande DROP MONITOR SUSPENSION. . . 307Commande DROP MONITOR SUSPENSIONTEMPLATE . . . . . . . . . . . . . . 307

    Commande LIST MONITOR SUSPENSION . . . 307Commande LIST MONITOR SUSPENSIONTEMPLATE . . . . . . . . . . . . . . 308Commande SET OUTPUT . . . . . . . . . 308Commande SET SERVER . . . . . . . . . 309Commande SUBSTITUTE CONTACT . . . . . 310

    Documentation du produit . . . . . . 311Contacter IBM . . . . . . . . . . . . . 311

    Lecture des diagrammes de syntaxe 313

    Accessibilité du produit . . . . . . . 315

    Remarques . . . . . . . . . . . . 317Marques . . . . . . . . . . . . . . . 320

    Index . . . . . . . . . . . . . . . 321

    Table des matières v

  • vi IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Avis aux lecteurs canadiens

    Le présent document a été traduit en France. Voici les principales différences etparticularités dont vous devez tenir compte.

    Illustrations

    Les illustrations sont fournies à titre d’exemple. Certaines peuvent contenir desdonnées propres à la France.

    Terminologie

    La terminologie des titres IBM peut différer d’un pays à l’autre. Reportez-vous autableau ci-dessous, au besoin.

    IBM France IBM Canada

    ingénieur commercial représentant

    agence commerciale succursale

    ingénieur technico-commercial informaticien

    inspecteur technicien du matériel

    Claviers

    Les lettres sont disposées différemment : le clavier français est de type AZERTY, etle clavier français-canadien de type QWERTY.

    OS/2 et Windows - Paramètres canadiens

    Au Canada, on utilise :v les pages de codes 850 (multilingue) et 863 (français-canadien),v le code pays 002,v le code clavier CF.

    Nomenclature

    Les touches présentées dans le tableau d’équivalence suivant sont libelléesdifféremment selon qu’il s’agit du clavier de la France, du clavier du Canada oudu clavier des États-Unis. Reportez-vous à ce tableau pour faire correspondre lestouches françaises figurant dans le présent document aux touches de votre clavier.

    © Copyright IBM Corp. 2004, 2009 vii

  • Brevets

    Il est possible qu’IBM détienne des brevets ou qu’elle ait déposé des demandes debrevets portant sur certains sujets abordés dans ce document. Le fait qu’IBM vousfournisse le présent document ne signifie pas qu’elle vous accorde un permisd’utilisation de ces brevets. Vous pouvez envoyer, par écrit, vos demandes derenseignements relatives aux permis d’utilisation au directeur général des relationscommerciales d’IBM, 3600 Steeles Avenue East, Markham, Ontario, L3R 9Z7.

    Assistance téléphonique

    Si vous avez besoin d’assistance ou si vous voulez commander du matériel, deslogiciels et des publications IBM, contactez IBM direct au 1 800 465-1234.

    viii IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Chapitre 1. Démarrage avec le programme ASNCLP

    Les programmes de réplication enregistrent des informations sur vosconfigurations dans des tables de contrôle. Les commandes ASNCLP créent,modifient et suppriment ces informations.

    Par exemple, le programme ASNCLP fournit une commande permettant de créerun abonnement Q. Dans la réplication Q, la sortie d’une commande est un scriptSQL insérant dans les tables de contrôle les informations relatives à la source, lacible, les files d’attentes et les autres options.

    Chaque commande ASNCLP fonctionne avec uniquement un sous-ensembled’informations. Vous pouvez utiliser plusieurs commandes ensembles afin degénérer le SQL pour une configuration entière.

    Avant d’exécuter le programme ASNCLP, vous devez configurer votreenvironnement. Une fois votre environnement configuré, vous devrez avoir desconnaissances de base sur l’utilisation du programme ASNCLP.

    Certaines commandes ne sont disponibles que pour des types de configuration deréplication ou de publication spécifiques.

    Systèmes d’exploitation pris en chargeLe programme ASNCLP s’exécute sous Linux®, UNIX®, Windows® et UNIX SystemServices (USS) on z/OS. Le programme ASNCLP ne fonctionne pas nativementsous z/OS ou System i.

    Les commandes ASNCLP génèrent des définitions de réplication pour tous lesenvironnements de systèmes d’exploitation pris en charge par les produits deréplication : z/OS, System i (SQL replication only), Linux, UNIX, etWindows. Vousdevez disposer d’une connectivité avec chaque serveur pour lequel vous générezdes définitions de réplication. Vous devez donc être en mesure d’émettre uneinstruction de connexion de base de données vers chacun des serveurs.

    Remarque : Des étapes de configuration supplémentaires sont obligatoires pourpermettre à ASNCLP de s’exécuter dans USS. Pour plus de détails, voir la rubriqueFacultatif : Pour que le programme ASNCLP s’exécute dans USS du centre dedocumentation des solutions Information Management Software for z/OS.

    Restriction : Le programme ASNCLP ne prend pas en charge z/VM ou VSE cardans ces environnements de systèmes d’exploitation, DB2 ne prend pas en chargel’architecture de réplication pour DB2 version 8 et ultérieure.

    Configuration d’un environnement Java pour exécuter le programmeASNCLP

    Le programme ASNCLP s’exécute dans un environnement Java™. Votre variabled’environnement PATH doit contenir un chemin d’accès vers un environnementd’exécution Java afin d’exécuter ASNCLP.

    © Copyright IBM Corp. 2004, 2009 1

    http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.swg.im.repl.zoscust.doc/topics/iiyrczosasnclponuss.html

  • Utilisez la procédure suivante si l’environnement PATH ne contient pas de chemind’accès vers un environnement d’exécution Java.

    Procédure

    Ajoutez le chemin d’accès suivant à votre variable d’environnement PATH :INSTDIR\java\jdk

    Où INSTDIR est le répertoire d’instance DB2. Sous Linux et UNIX, le répertoired’instance est le répertoire INSTDIR/sqllib, où INSTDIR est le répertoire de basedu propriétaire d’instance. Sous Windows, le répertoire d’instance est le répertoire\sqllib où DB2 a été installé.

    Pour tous les produits DB2, excepté IBM Data Server Runtime Client, le processusd’installation de DB2 Database pour Linux, UNIX et Windows installeautomatiquement le kit de développement de logiciels pour Java. Si vous devezinstaller le kit de développement de logiciels, accédez à la page ″IBM developerkits″ du site Web IBM developerWorks : http://www.ibm.com/developerworks/java/jdk/index.html

    Exemples

    Pour définir la variable d’environnement PATH à partir d’uneinvite de commande UNIX :exportCLASSPATH=$PATH:/u/myinst/sqllib/java/jdk;

    Pour définir la variable d’environnement PATH à partir d’uneinvite de commande Windows :set CLASSPATH=%PATH%;%c:\Program File\sqllib\java\jdk;

    Liaison de packages z/OS pour le programme ASNCLP

    Avant d’utiliser le programme ASNCLP avec DB2 pour z/OS, vous devez d’abordlier les packages DRDA et CLI de base au sous-système DB2 avec lequel vouscomptez travailler.

    Avant de commencer

    Avant de lier les packages z/OS vous devez d’abord vous connecter ausous-système DB2 sur le serveur z/OS.

    Procédure

    Pour lier les packages z/OS de base pour le programme ASNCLP, ouvrez uneinvite de commande de système d’exploitation et entrez la commande suivante :bind @ddcsmvs.lst blocking all sqlerror continuedb2 bind @db2cli.lst isolation ur blocking all

    2 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

    http://www.ibm.com/developerworks/java/jdk/index.htmlhttp://www.ibm.com/developerworks/java/jdk/index.html

  • Si vous n’effectuez pas cette liaison, la première fois que vous utilisez leprogramme ASNCLP avec un serveur DB2 pour z/OS, le programme risque devous renvoyer le message d’erreur suivant :ASN1560E L'action de réplication s'est terminée avec une erreur.

    Une erreur SQL a été rencontrée.Message SQL : "[IBM][CLI Driver][DB2] SQL0805N Le package"nom_package" est introuvable. SQLSTATE=51002

    Exécution des commandes ASNCLP en mode interactifVous pouvez exécuter les commandes ASNCLP en mode interactif à partir d’uneinvite de commande.

    Procédure

    Pour exécuter les commandes ASNCLP en mode interactif :1. Ouvrez une invite de commande du système d’exploitation et lancez la

    commande suivante :ASNCLP

    La commande ASNCLP démarre le programme ASNCLP et modifie l’invite decommande en Repl >.

    2. Exécutez l’une des commandes ASNCLP. Par exemple : pour définir le serveurQ Capture pour la base de données nomalias, exécutez la commande suivante :SET SERVER CAPTURE TO DBALIAS nomalias

    3. Pour quitter le programme ASNCLP, entrez la commande suivante :quit

    Pour obtenir de l’aide sur le programme ASNCLP, entrez la commande suivante àpartir d’une invite de commande du système d’exploitation :ASNCLP ?

    Exécution de commandes ASNCLP en mode d’exécution immédiateLe mode d’exécution immédiate est utile lorsque vous devez émettre une seulecommande. Vous pouvez utiliser la commande START QSUB, la commande STOPQSUB, et les commandes LIST en mode d’exécution immédiate.

    Avant de commencer

    La commande ASNCLP que vous exécutez ne peut pas s’appuyer sur lescommandes précédente. La commande doit être autonome. Par exemple, plusieurscommandes s’appuyent sur la commande SET SERVER pour définir l’emplacementde création des objets.

    Procédure

    Pour exécuter une commande ASNCLP en mode d’exécution immédiate :1. Ouvrez une invite de commande du système d’exploitation.2. Exécutez la commande ASNCLP :

    ASNCLP -exe ma_commande

    Chapitre 1. Démarrage avec le programme ASNCLP 3

  • Remplacez ma_commande par la commande ASNCLP que vous souhaitezexécuter immédiatement.

    La commande suivante est un exemple de démarrage d’un abonnement Q pourune source de réplication Classic :asnclp -exe START QSUB SUBNAME sub1 CAP SERVER OPTIONS CONFIG SERVER classic1FILE asnservers.ini ID id1 PASSWORD passwd1

    Exécution des commandes ASNCLP via un fichier en entréeVous pouvez exécuter les commandes ASNCLP en mode de traitement par lots àl’aide d’un fichier d’entrée.

    Procédure

    Pour exécuter les commandes ASNCLP en mode traitement par lots à l’aide d’unfichier en entrée, procédez comme suit :1. Créez un fichier d’entrée contenant les commandes ASNCLP que vous voulez

    exécuter. Les commandes du fichier d’entrée doivent être délimitées par lepoint-virgule (;) et peuvent s’étendre sur plusieurs lignes. Vous pouvezégalement ajouter des commentaires au fichier d’entrée en commençant la lignecommentaire par un dièse (#).

    2. Ouvrez une invite de commande du système d’exploitation et lancez lacommande suivante :ASNCLP -f myfile.in

    Dans cet exemple, le nom du fichier d’entrée est myfile.in. Il peut être composéd’un nom de fichier valide et d’une extension. Vous pouvez également indiquerun nom de fichier et un chemin d’accès au fichier complet. Par exemple :ASNCLP -f c:\temp\myfile.in

    La commande ASNCLP démarre le programme ASNCLP, qui traite toutes lescommandes dans le fichier d’entrée jusqu’à ce qu’il rencontre une erreur ou lafin du fichier.

    Conseil : Vous pouvez définir que le programme ASNCLP ignore certaineserreurs qu’il rencontre lors de la création d’objets qui existent déjà en utilisantla commande SET RUN SCRIPT LATER GENERATE SQL FOR EXISTING YES.

    Si votre fichier d’entrée ne contient pas la commande quit, vous pouvez quitter leprogramme ASNCLP en exécutant la commande suivante :quit

    Fichier de configuration ASNCLPPour que le programme ASNCLP puisse accéder aux sources Classic , ou s’exécutersur UNIX System Services (USS) for z/OS, vous devez spécifier des informationsde connectivité dans un fichier de configuration.

    Le fichier de configuration ASNCLP contient un groupe de lignes pour chaquesource de données à laquelle ASNCLP doit pouvoir accéder. Chaque groupedispose d’un nom unique suivi de lignes qui fournissent des informations deconnexion. Ce nom unique est utilisé dans les scripts ASNCLP afin d’identifier unesource.

    4 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Syntaxe

    Définissez les informations du serveur dans le fichier de configuration au formatsuivant :[NOM]Type=type_sourceData source=nom_source_donnéesHost=nom_hôtePort=numéro_portCodepage=page_code...

    Paramètres

    [NOM]Spécifie un nom unique pour une configuration. Indiquez ce nom dans lesscripts ASNCLP pour que le programme ASNCLP puisse se connecter à lasource de données. Vous pouvez définir plusieurs serveurs dans un fichier deconfiguration unique en indiquant entre crochets le début d’une nouvelledéfinition de serveur (par exemple, [NOM2]).

    Important : La valeur ne doit pas dépasser huit caractères.

    TypeIndique le type de serveur :

    Réplication ClassicIndiquez Type=classic.

    ASNCLP sur USSSi le serveur est DB2 for z/OS ou DB2 for Linux, UNIX, and Windowset que vous exécutez ASNCLP sur USS, indiquez Type=DB2.

    Data sourceIndique l’emplacement des données source :

    Réplication ClassicSpécifie le nom du processeur de requête pour le serveur de donnéesClassic.

    ASNCLP sur USSSi vous exécutez ASNCLP sur USS, ce paramètre indique, pour lessources DB2, le nom de l’emplacement de DB2 for z/OS ou le nom dela base de données DB2 for Linux, UNIX, and Windows.

    HostIndique le nom d’hôte ou l’adresse IP du serveur de données où se trouvenom_source_données.

    PortPort correspond au numéro de port du serveur où se trouve la source dedonnées.

    CodepageCodepage est un paramètre facultatif pour des sources Classic qui décrit lapage de codes des données.

    Exemple 1

    L’exemple suivant montre un fichier de configuration servant dans USS à spécifierune connexion à un sous-système DB2 for z/OS :

    Chapitre 1. Démarrage avec le programme ASNCLP 5

  • [DB2ZOS]Type=DB2Data source=dsn7Host=stplex4a.svl.ibm.comPort=2080

    Exemple 2

    L’exemple suivant montre un fichier de configuration composé de plusieursdéfinitions de serveur :[server_1]Type=classicData source=CACSAMP1Host=123.123.123.1Port=8096[server_2]Type=classicData source=CACSALESHost=145.145.231.87Port=8095

    Notes sur l’utilisation

    Vous pouvez sauvegarder le fichier de configuration à n’importe quelemplacement. Le nom de fichier par défaut est asnservers.ini.

    Vous devez utiliser la commande SET SERVER afin d’indiquer au programmeASNCLP l’emplacement du fichier de configuration. L’exemple suivant montre quele fichier de configuration asnservers.ini est sauvegardé dans le répertoire/home/db2inst/sqllib/classic_files/.SET SERVER capture TO CONFIG SERVER cacsamp1FILE "/home/db2inst/sqllib/classic_files/asnservers.ini" ID mon_ID_utilisateur

    PASSWORD "mon_mot_passe";

    6 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Chapitre 2. Commandes ASNCLP pour la réplication SQL

    Les commandes ASNCLP pour la réplication SQL permettent de définir et demodifier des objets tels que les tables de contrôle, les enregistrements et lesensembles d’abonnements.

    La rubrique «Exemple de scripts ASNCLP pour configurer une réplication SQL», àla page 8 montre comment vous pouvez combiner des commandes SQL pour créerun script de configuration ASNCLP.

    Le tableau 1 dresse la liste des commandes ASNCLP pour la réplication SQL etcontient des liens vers les rubriques qui décrivent chaque commande.

    Tableau 1. Commandes ASNCLP pour la réplication SQL

    Si vous souhaitez ... Utilisez cette commande

    Ajouter des colonnes à un membre existant «Commande ALTER MEMBER ADD COLS», à la page 12

    Modifier les propriétés d’un enregistrement «Commande ALTER REGISTRATION», à la page 13

    Modifier les propriétés d’un ensemble d’abonnements «Commande ALTER SUBSCRIPTION SET», à la page 16

    Etablir une session pour la réplication SQL «Commande ASNCLP SESSION SET TO (réplicationSQL)», à la page 18

    Créer des tables de contrôle «Commande CREATE CONTROL TABLES FOR(réplication SQL)», à la page 19

    Créer un membre d’un ensemble d’abonnements «Commande CREATE MEMBER», à la page 21

    Créer un enregistrement «Commande CREATE REGISTRATION», à la page 30

    Créer une instruction SQL qui est traitée avec unensemble d’abonnements existant

    «Commande CREATE STMT», à la page 36

    Créer un ensemble d’abonnements «Commande CREATE SUBSCRIPTION SET», à la page 37

    Supprimer des tables de contrôle «Commande DROP CONTROL TABLES ON», à la page39

    Supprimer un membre d’un ensemble d’abonnements «Commande DROP MEMBER», à la page 42

    Supprimer un enregistrement «Commande DROP REGISTRATION», à la page 43

    Supprimer des instructions SQL pour un ensembled’abonnements existant

    «Commande DROP STMT», à la page 44

    Supprimer un ensemble d’abonnements «Commande DROP SUBSCRIPTION SET», à la page 44

    Contrôler une régénération intégrale manuelle pour lesprocédures de chargement hors ligne

    «Commande OFFLINE LOAD», à la page 45

    Promouvoir un enregistrement «Commande PROMOTE REGISTRATION», à la page 46

    Promouvoir un ensemble d’abonnements «Commande PROMOTE SUBSCRIPTION SET», à la page48

    Définir un schéma Capture source et cible pour toutes lescommandes de tâche

    «Commande SET CAPTURE SCHEMA (réplication SQL)»,à la page 49

    Spécifier si la table espace doit être supprimée lorsquevous supprimez l’objet de réplication qu’elle contient

    «Commande SET DROP (réplication SQL)», à la page 50

    Définir le nom de fichier journal pour le programmeASNCLP

    «Commande SET LOG», à la page 52

    © Copyright IBM Corp. 2004, 2009 7

  • Tableau 1. Commandes ASNCLP pour la réplication SQL (suite)

    Si vous souhaitez ... Utilisez cette commande

    Spécifier un nom pour les fichiers de sortie quicontiennent les scripts SQL

    «Commande SET OUTPUT (réplication SQL)», à la page52

    Définir des règles de personnalisation pour créer desobjets d’espace table

    «Commande SET PROFILE (réplication SQL)», à la page53

    Spécifier si les instructions SQL doivent être exécutéesautomatiquement avant que les commandes ASNCLPtraitent la commande suivante

    «Commande SET RUN SCRIPT (réplication SQL)», à lapage 57

    Spécifier le serveur (base de données) utilisé dans lasession ASNCLP, les informations d’authentification et lesautres paramètres requis pour établir la connexion avec leserveur

    «Commande SET SERVER (réplication SQL)», à la page60

    Activer et désactiver le traçage pour les commandesASNCLP

    «Commande SET TRACE», à la page 63

    Exemple de scripts ASNCLP pour configurer une réplication SQLCet exemple contient cinq scripts ASNCLP pour configurer un environnement deréplication SQL de base. Il inclut des tables de contrôle de Capture, unenregistrement, des tables de contrôle Apply, un ensemble d’abonnements et unmembre d’un ensemble d’abonnement.

    Chaque script ASNCLP génère un ou plusieurs scripts SQL pour créer un objet deréplication. Comme certains objets de réplication dépendent de l’existence d’autresobjets, exécutez les scripts ASNCLP et les scripts SQL qu’ils génèrent dans l’ordresuivant :1. tables de contrôle Capture2. Enregistrement3. tables de contrôle Apply4. Ensemble d’abonnements (génère un script SQL qui crée des définitions sur le

    serveur de contrôle de Capture et le serveur de contrôle Apply).5. Membre d’un ensemble d’abonnements (génère trois scripts SQL qui créent des

    définitions sur le serveur de contrôle de Capture et le serveur de contrôleApply et créent une table cible ainsi qu’un espace table sur le serveur cible.

    Le tableau 2, à la page 12 qui apparaît sous l’exemple décrit chaque script SQL.

    Cet exemple comporte une section pour chaque script ASNCLP, que vous pouvezcopier dans un fichier texte et exécuter à l’aide de la commande ASNCLP -fnomfichier . Dans l’exemple de code de chaque section, les informations détailléessur chaque groupe de commandes sont précédées d’un caractère de commentaire(#).

    8 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Script ASNCLP 1 (tables de contrôle de Capture)

    Ce script génère les instructions SQL qui créent les tables de contrôle de Captureau niveau de la base de données SAMPLE. Il inclut des commandes pour lestâches suivantes :

    �1� Configuration de l’environnement�2� Création des tables de contrôle de Capture�3� Fin de la session ASNCLP# �1� Configuration de l'environnement# La portée des commandes d'environnement est l'ensemble

    du fichier script ASNCLP sauf# si une autre valeur est substituée aux commandes.# Dans la commande SET SERVER, l'ID utilisateur et le mot de passe sontfacultatifs. Si vous oubliez# ces mots clés, le programme ASNCLP utilisera l'ID et le mot de passe implicitespour se connecter# à la base de données.# La commande SET OUTPUT génère un script SQL, capctrl.sql.# La commande SET LOG définit un fichier journal, capctrl.err,

    pour enregistrer les résultats# pour le script ASNCLP.# L'option SET RUN SCRIPT LATER vous permet de vérifier les scripts SQL avant# de les exécuter.SET SERVER CAPTURE TO DB SAMPLE ID DB2ADMIN PASSWORD "passw0rd";SET OUTPUT CAPTURE SCRIPT "capctrl.sql";SET LOG "capctrl.err";SET RUN SCRIPT LATER;

    # �2� Création des tablesde contrôle de Capture# Cette commande génère un script SQL qui se connecte à la base de données SAMPLE et# crée les tables de contrôle.

    CREATE CONTROL TABLES FOR CAPTURE SERVER;

    # �3� Fin de la session ASNCLP.

    QUIT;

    Script ASNCLP 2 (enregistrement)

    Ce script génère les instructions SQL qui enregistre la table PROJECT sur la basede données SAMPLE pour réplication. Il inclut des commandes pour les tâchessuivantes :

    �1� Configuration de l’environnement�2� Enregistrement d’une table source�3� Fin de la session ASNCLP.# �1� Configuration de l'environnement# La commande SET OUTPUT génère un script SQL, register.sql.

    SET SERVER CAPTURE TO DB SAMPLE ID DB2ADMIN PASSWORD "passw0rd";SET OUTPUT CAPTURE SCRIPT "register.sql";SET LOG "register.err";SET RUN SCRIPT LATER;

    # �2� Enregistrement d'une table source.# La commande CREATE REGISTRATION spécifie la table PROJECT. La

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 9

  • # mots clés DIFFERENTIAL REFRESH STAGE spécifient de mettre à jour périodiquement# la table cible lorsque la table source est modifiée, et créent

    une table de changement# appelée CDPROJECT. Comme le mot clé COLS n'est pas spécifié, toutes les# colonnes de la table source sont enregistrées.

    CREATE REGISTRATION (DB2ADMIN.Project) DIFFERENTIAL REFRESH STAGE CDPROJECT;

    # �3� Fin de la session ASNCLP.QUIT;

    Script ASNCLP 3 (tables de contrôle Apply)

    Ce script génère les instructions SQL qui créent les tables de contrôle Apply auniveau de la base de données TARGET. Il inclut des commandes pour les tâchessuivantes :

    �1� Configuration de l’environnement�2� Création des tables de contrôle Apply�3� Fin de la session ASNCLP# �1� Configuration de l'environnement# La commande SET OUTPUT génère un script SQL, appctrl.sql.SET SERVER CONTROL TO DB TARGET ID DB2ADMIN PASSWORD "passw0rd";SET OUTPUT CONTROL SCRIPT "appctrl.sql";SET LOG "appctrl.err";SET RUN SCRIPT LATER;

    # �2� Création des tables de contrôle Apply# Ces instructions génèrent un script SQL qui se connecte à la base de données TARGET# et crée les tables de contrôle.

    CREATE CONTROL TABLES FOR APPLY CONTROL SERVER;

    # �3� Fin de la session ASNCLP.

    QUIT;

    Script ASNCLP 4 (ensemble d’abonnements)

    Ce script génère des instructions SQL qui créent un ensemble d’abonnements. Ilinclut des commandes pour les tâches suivantes :

    �1� Configuration de l’environnement�2� Création d’un ensemble d’abonnements�3� Fin de la session ASNCLP.# �1� Configuration de l'environnement# Deux commandes SET SERVER sont utilisées car les définitions de

    l'ensemble d'abonnements# sont stockées à la fois dans les tables de contrôle de Capture et Apply.# La commande SET OUTPUT génère un script, ctlsubset.sql, qui insère# la définition de l'ensemble d'abonnements dans la table IBMSNAP_SUBS_SET.

    SET SERVER CAPTURE TO DB SAMPLE ID DB2ADMIN PASSWORD "passw0rd";SET SERVER CONTROL TO DB TARGET ID DB2ADMIN PASSWORD "passw0rd";SET SERVER TARGET TO DB TARGET ID DB2ADMIN PASSWORD "passw0rd";SET OUTPUT CONTROL SCRIPT "ctlsubset.sql";SET LOG "subset.err";SET RUN SCRIPT LATER;

    10 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • # �2� Création d'un ensemble d'abonnements# La commande CREATE SUBSCRIPTION SET crée un ensemble appelé SET00 avec un qualificatif# Apply de AQ00. Elle spécifie que l'ensemble peut être activé indéfiniment à une date# et une heure de début déterminées, et qu'il peut être traité toutes les minutes.

    CREATE SUBSCRIPTION SET SETNAME SET00 APPLYQUAL AQ00 ACTIVATE YESTIMING INTERVAL 1 START DATE "2006-10-22" TIME "09:00:00.000000";

    # �3� Fin de la session ASNCLP.

    QUIT;

    Script ASNCLP 5 (membre d’un ensemble d’abonnements)

    Ce script génère des instructions SQL qui créent un membre d’un ensembled’abonnements pour la table source enregistrée PROJECT. Il inclut des commandespour les tâches suivantes :

    �1� Configuration de l’environnement�2� Création d’un membre d’un ensemble d’abonnements�3� Fin de la session ASNCLP.# �1� Configuration de l'environnement# La commande SET OUTPUT génère trois scripts SQL, capmember.sql et# appmember.sql pour définir le membre de l'ensemble d'abonnements

    dans les tables de contrôle Capture# et Apply, et projtrg.sql pour créer une table cible et# un espace table.

    SET SERVER CAPTURE TO DB SAMPLE ID DB2ADMIN PASSWORD "passw0rd";SET SERVER CONTROL TO DB TARGET ID DB2ADMIN PASSWORD "passw0rd";SET SERVER TARGET TO DB TARGET ID DB2ADMIN PASSWORD "passw0rd";SET OUTPUT CAPTURE SCRIPT "capmember.sql" CONTROL SCRIPT "appmember.sql"TARGET SCRIPT "projtrg.sql";SET LOG "member.err";SET RUN SCRIPT LATER;

    # �2� Création d'un membre d'un ensemble d'abonnements.# La commande SET PROFILE crée un profil, TBSPROFILE, pour stocker les options# pour l'espace table utilisé par la table cible. La commande CREATE MEMBER# spécifie l'ensemble SET00, le qualificatif Apply AQ00 et la table source STAFF. La# table cible TRGSTAFF est spécifiée comme une copie utilisateur avec toutes

    les colonnes enregistrées.

    SET PROFILE TBSPROFILE FOR OBJECT TARGET TABLESPACE OPTIONS UW USINGFILE "c:\TSTRG.TS" SIZE 700 PAGES;CREATE MEMBER IN SETNAME SET00 APPLYQUAL AQ00 ACTIVATE YES SOURCE PROJECTTARGET NAME TRGPROJECT DEFINITION IN TSTRG00 CREATE USING PROFILE TBSPROFILETYPE USERCOPY COLS ALL REGISTERED;

    # �3� Fin de la session ASNCLP.

    QUIT;

    Sortie des scripts

    Outre les fichiers journaux, cet exemple produit six fichiers scripts SQL dans lerépertoire où vous exécutez le programme ASNCLP. Le tableau 2, à la page 12décrit les fichiers.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 11

  • Tableau 2. Fichiers script SQL créés par les exemples de scripts ASNCLP

    Fichier de sortie Contient un langage SQL pour...

    capctrl.sql Créer les tables de contrôle de Capture

    register.sql Enregistrer une table source

    appctrl.sql Créer les tables de contrôle Apply

    ctlsubset.sql Insérer les définitions pour un ensembled’abonnements dans les tables de contrôleApply

    capmember.sql Insérer les définitions pour un membre d’unensemble d’abonnements dans les tables decontrôle de Capture

    appmember.sql Insérer les définitions pour un membre d’unensemble d’abonnements dans les tables decontrôle Apply

    projtrg.sql Crée une table cible et un espace table

    Commande ALTER MEMBER ADD COLSLa commande ALTER MEMBER ADD COLS vous permet d’ajouter des colonnes àun membre existant dans un ensemble d’abonnements existant.

    Syntaxe

    �� ALTER MEMBER ADD COLS IN SETNAME nomensemble APPLYQUAL qual-apply SOURCE �

    � nomobjetpropriétaireobjet .

    TARGET nomobjetpropriétaireobjet .

    � COLS ( EXPRESSION ″col-source-ou-expr″ )TARGET nom

    +

    ��

    Paramètres

    SETNAME nomensembleIndique le nom de l’ensemble d’abonnements.

    APPLYQUAL qual-applyIndique le qualificatif Apply de l’ensemble d’abonnements.

    SOURCE proriétaireobjet.nomobjetIndique le nom et le propriétaire de l’objet source.

    TARGET proriétaireobjet.nomobjetIndique le nom et le propriétaire de l’objet cible.

    COLSIndique les colonnes à ajouter. Vous pouvez spécifier plusieurs colonnes enutilisant des virgules et des parenthèses.

    EXPRESSION ″col-source-ou-expr″Indique une expression pour la colonne. Les guillemets doubles sontobligatoires.

    TARGET nomIndique le nom de colonne de la cible.

    12 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • + Indique que la colonne fait partie de la clé primaire.

    Notes sur l’utilisationv Pour les ensembles d’abonnements bidirectionnels, les colonnes sont ajoutées

    aux membres pour les directions de réplication (maître-à-réplique etréplique-à-maître).

    v Le schéma Capture de la table cible est hérité de l’ensemble d’abonnements.

    Exemple

    Pour ajouter la colonne NEWSTAFF à l’ensemble d’abonnements existant SET00 :ALTER MEMBER ADD COLS IN SETNAME SET00 APPLYQUAL AQ00 SOURCE DB2ADMIN.STAFFTARGET DB2ADMIN.TRGSTAFF COLS (EXPRESSION "source-col-or-expr" TARGET NEWSTAFF)

    Commande ALTER REGISTRATIONLa commande ALTER REGISTRATION vous permet de modifier une ligned’enregistrement dans la table IBMSNAP_REGISTER et d’ajouter de nouvellescolonnes à une source enregistrée.

    Syntaxe

    �� ALTER REGISTRATION ROW row-clauseADD add-cols-clause

    ��

    row-clause :

    ,

    ( nomobjet )propriétaireobjet. CONFLICT NONE

    STANDARDENHANCED

    �UPDATE AS DELETE INSERT OFF

    ONCAPTURE ALL

    CHANGESFORWARDING OFF

    ON

    �FULL REFRESH ON

    OFFSTOP ON ERROR ON

    OFF

    add-cols-clause :

    propriétaireobjet.nomobjet

    ,

    COLS ( nomcol )IMAGE AFTER

    BOTHBEFORE

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 13

  • �PREFIX X

    préfimageavant

    Paramètres

    ROWIndiquez ce paramètre pour modifier une ligne d’enregistrement dans la tableIBMSNAP_REGISTER.

    ADDIndiquez ce paramètre pour ajouter de nouvelles colonnes d’un objet source àun enregistrement. Ce paramètre ne s’applique que si l’objet source est unetable ou un pseudonyme.

    propriétaireobjetIndique le propriétaire de l’objet source enregistré (table, vue ou pseudonyme).Vous pouvez indiquer plusieurs objets.

    nomobjetIndique le nom de l’objet source enregistré (table, vue ou pseudonyme). Vouspouvez indiquer plusieurs objets.

    CONFLICTIndique le niveau de détection de conflit.

    NONEPas de détection de conflit. Les mises à jour conflictuelles entre la tablemaîtresse et la table réplique ne sont pas détectées. Cette option n’est pasrecommandée pour la réplication de mise à jour bidirectionnelle. Il s’agitde la valeur par défaut.

    STANDARDDétection de conflit modérée. Pendant chaque cycle Apply, le programmeApply compare les valeurs de clés de la table de modification des données(CD) du maître à celles de la table CD de la réplique. Si les deux tables CDcontiennent la même valeur de clé, il y a un conflit. En cas de conflit, leprogramme Apply annule la transaction précédemment validée dans laréplique en lisant la table CD de la réplique et en ne conservant que lesmodifications issues du maître.

    ENHANCEDDétection de conflit fournissant la meilleure intégrité des données parmi lemaître et ses répliques. Comme pour la détection Standard, le programmeApply compare les valeurs de clés de la table CD du maître avec celles dela table CD de la réplique lors de chaque cycle Apply. Si les deux tablesCD contiennent la même valeur de clé, il y a un conflit. Toutefois, avec ladétection améliorée, le programme Apply attend la validation de toutes lestransactions en cours avant de contrôler les conflits. Pour s’assurer qu’ilintercepte bien toutes les transactions en cours, le programme Applyverrouille toutes les tables cible dans l’ensemble d’abonnements contre lestransactions ultérieures et démarre la détection de conflit aprèsl’enregistrement de toutes les modifications dans la table CD. En cas deconflit, le programme Apply annule la transaction précédemment validéedans la réplique en lisant la table CD de la réplique et en ne conservantque les modifications issues du maître.

    14 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • UPDATE AS DELETE INSERT

    ONIndiquez ce paramètre pour capturer les mises à jour en tant que pairessuppression-insertion.

    OFFIndiquez ce paramètre pour capturer les mises à jour en tant que mises àjour. Il s’agit de la valeur par défaut.

    CAPTURE

    ALLIndiquez ce paramètre pour tout capturer.

    CHANGESIndiquez ce paramètre pour ne capturer que les modifications.

    FORWARDING

    OFFIndiquez ce paramètre pour ne pas transmettre les modifications de cettesource.

    ONIndiquez ce paramètre pour transmettre les modifications de cette source.

    FULL REFRESH

    ONIndiquez ce paramètre pour autoriser les régénérations intégrales de cettesource.

    OFFIndiquez ce paramètre pour ne pas autoriser les régénérations intégrales decette source.

    STOP ON ERROR

    ONIndiquez ce paramètre pour interrompre le programme Capture s’il détecteune erreur pour cet enregistrement.

    OFFIndiquez ce paramètre pour ne pas interrompre le programme Capture s’ildétecte une erreur pour cet enregistrement.

    COLSIndique les colonnes que vous voulez enregistrer.

    nomcolIndique une liste des colonnes que vous voulez enregistrer.

    IMAGE

    AFTERIndiquez ce paramètre pour enregistrer uniquement les colonnes d’imageaprès.

    BOTHIndiquez ce paramètre pour enregistrer les colonnes d’image avant etd’image après.

    BEFOREIndiquez ce paramètre pour enregistrer uniquement les colonnes d’imageavant.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 15

  • PREFIX

    v Si vous spécifiez IMAGE AFTER, le préfixe a la valeur nulle et la sourcen’autorise pas de colonnes d’image avant.

    v Si vous spécifiez IMAGE BOTH ou IMAGE BEFORE et pas PREFIX, unevaleur par défaut X est utilisée comme préfixe des images avant. Si vousindiquez PREFIX, cette valeur est utilisée.

    v Si vous choisissez IMAGE BOTH et que vous ne spécifiez pas de préfixe, lepréfixe d’image avant est X.

    Vous ne pouvez pas modifier un préfixe d’image avant existant avec lacommande ALTER REGISTRATION ROW. Vous pouvez toutefois ajouter cepréfixe à une nouvelle colonne d’image avant. Si le préfixe d’image-avantexistant a une valeur nulle et que vous souhaitez ajouter une colonned’image-avant à l’enregistrement existant, vous pouvez spécifier le préfixed’image-avant à l’aide de la commande ALTER REGISTRATION ADD. Si vousn’indiquez pas de préfixe, le programme ASNCLP définit X comme valeur pardéfaut.

    Notes sur l’utilisation

    Les paramètres de cette commande n’ont pas de valeurs par défaut.

    Si vous ajoutez une colonne à une table CD lorsque la source enregistrée aégalement une table interne de modification cohérente des données (CCD) qui yest associée, vous devez :v Utiliser la commande ALTER ADD REGISTRATION COL pour ajouter une

    colonne à la table CDv Utiliser la commande ALTER ADD SUBSCRIPTION MEMBER COL pour ajouter

    une colonne à la table CCD interne. Si vous ne procédez pas à cette étape, ilvous sera impossible d’ajouter la colonne à toute table cible dépendante de lasource enregistrée.

    Exemple 1

    Pour modifier une ligne d’enregistrement pour DB2ADMIN.STAFF qui capture lesmises à jour en tant que paires suppression-insertion :ALTER REGISTRATION ROW (DB2ADMIN.STAFF) UPDATE AS DELETE INSERT ON

    Exemple 2

    Pour modifier un enregistrement en ajoutant une nouvelle colonne C002 à la tableDB2ADMIN.STAFF :ALTER REGISTRATION ADD DB2ADMIN.STAFF COLS (C002 IMAGE BOTH)

    Commande ALTER SUBSCRIPTION SETLa commande ALTER SUBSCRIPTION SET vous permet de modifier certainesvaleurs d’un ensemble d’abonnements.

    Syntaxe

    �� ALTER SUBSCRIPTION SET SETNAME nomensemble APPLYQUAL qual-apply SETTYPE RU

    F ONLYS ONLY

    P

    16 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • �ACTIVATE NO

    YESONCE

    TIMING EVENT nomévénementINTERVAL minutesBOTH EVENT nomévénement INTERVAL minutesCONTINUOUS

    �BLOCKING minutes COMMIT COUNT n

    NULL

    ��

    Paramètres

    SETNAME nomensembleIndique le nom de l’ensemble d’abonnements.

    APPLYQUAL qual-applyIndique le qualificatif Apply de l’ensemble d’abonnements.

    SETTYPEIndique le type d’ensemble d’abonnements.

    R Indique un ensemble en lecture seule. Il s’agit de la valeur par défaut.

    U Indique un ensemble bidirectionnel. Par défaut, les directions sont F et S.

    F ONLYIndique un ensemble bidirectionnel défini dans la direction Funiquement, où la table source est la réplique et la table cible est lemaître.

    S ONLYIndique un ensemble bidirectionnel défini dans la direction Suniquement, où la table source est la table maîtresse ou l’autre source,et la table cible est la réplique ou une autre copie.

    P Indique un ensemble d’égal à égal.

    ACTIVATEIndique si l’ensemble d’abonnements doit être activé, ou non.

    NOIndiquez ce paramètre pour ne pas activer l’ensemble d’abonnements. Ils’agit de la valeur par défaut.

    YESIndiquez ce paramètre pour activer l’ensemble d’abonnements.

    ONCEIndiquez ce paramètre pour activer l’ensemble d’abonnements pour uncycle Apply, puis désactivez-le.

    TIMINGIndique la synchronisation pour l’ensemble d’abonnements.

    EVENT nomévénementIndique l’événement qui, une fois posté à la tableIBMSNAP_SUBS_EVENT, engendre le traitement de l’ensembled’abonnements par le programme Apply.

    INTERVAL minutesIndique l’intervalle nécessaire au programme Apply pour traiter l’ensembled’abonnements. L’intervalle par défaut est de 20 minutes.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 17

  • BOTHIndique que cet ensemble d’abonnements utilise la synchronisationtemporelle et événementielle.

    CONTINUOUSIndique que le programme Apply doit traiter l’ensemble d’abonnements demanière continue. Ce mot-clé équivaut à spécifier un intervalle de zérominute.

    BLOCKING minutesIndique une valeur-seuil pour contrôler la quantité de données à extraire et àappliquer. Ce mot-clé contrôle la colonne MAX_SYNCH_MINUTES de la tableIBMSNAP_SUB_SET.

    COMMIT COUNT nIndique le nombre de transactions que le programme Apply doit traiter avantd’exécuter une instruction SQL COMMIT pour l’ensemble d’abonnements.Spécifiez une valeur NULL pour que le programme Apply n’exécute qu’uneseule instruction COMMIT pour l’ensemble d’abonnements, après avoir traitél’ensemble en entier.

    Exemple 1

    Pour modifier l’ensemble d’abonnements SET00 au sein du qualificatif Apply AQ00en un type d’ensemble d’abonnements en lecture seule et modifier l’intervalle desynchronisation de 20 minutes à 15 minutes :ALTER SUBSCRIPTION SET SETNAME SET00 APPLYQUAL AQ00 SETTYPE RACTIVATE YES TIMING INTERVAL 15 COMMIT COUNT NULL

    Exemple 2

    Pour modifier l’ensemble d’abonnements SET00 afin qu’il s’active une fois etdéfinisse la table source comme réplique et la table cible comme maître :ALTER SUBSCRIPTION SET SETNAME SET00 APPLYQUAL AQ00 SETTYPE UF ONLY ACTIVATE ONCE COMMIT COUNT 5

    Commande ASNCLP SESSION SET TO (réplication SQL)La commande ASNCLP SESSION SET TO vous permet de définir une sessionASNCLP pour la réplication SQL.

    Syntaxe

    �� ASNCLP SESSION SET TO SQL REPLICATION ��

    Paramètres

    SQL REPLICATIONIndiquez ce paramètre pour définir la session ASNCLP sur la réplication SQL.Cette session ASNCLP n’accepte que la syntaxe de réplication SQL.

    Notes sur l’utilisation

    Lancez la commande ASNCLP SESSION SET avant toute autre commande dansune session ASNCLP. Si vous n’exécutez pas la commande ASNCLP SESSION SET,le programme ASNCLP choisit par défaut la réplication SQL.

    18 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • Exemple

    Pour définir la session ASNCLP sur la réplication SQL :ASNCLP SESSION SET TO SQL REPLICATION

    Commande CREATE CONTROL TABLES FOR (réplication SQL)La commande CREATE CONTROL TABLES FOR vous permet de créer un nouvelensemble de tables de contrôle de Capture, Apply ou Monitor.

    Syntaxe

    �� CREATE CONTROL TABLES FOR CAPTURE SERVERAPPLY CONTROL SERVERMONITOR CONTROL SERVER

    IN ZOS zos-ts-clauseUW uw-ts-clauseNONIBM federated-clause

    ��

    zos-ts-clause :

    UOW DB dbname nomespacetabe prof-clauseNAMING PREFIX préfixe

    �ALERTS DB dbname nomespacetabe prof-clause

    NAMING PREFIX préfixe

    �PAGE LOCK DB dbname nomespacetabe prof-clause

    NAMING PREFIX préfixe

    �ROW LOCK DB dbname nomespacetabe prof-clause

    NAMING PREFIX préfixe

    uw-ts-clause :

    UOW nomespacetabe prof-clauseNAMING PREFIX préfixe

    �OTHERS nomespacetabe prof-clause

    NAMING PREFIX préfixe

    federated-clause :

    OTHERS nomespacetabe prof-clauseNAMING PREFIX préfixe

    SCHEMA nomschéma

    prof-clause :

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 19

  • CREATE USING PROFILE nomprofREUSE

    Paramètres

    CAPTURE SERVERUtilisez ce paramètre pour créer des tables de contrôle de réplication pour leserveur Capture.

    APPLY CONTROL SERVERUtilisez ce paramètre pour créer des tables de contrôle de réplication pour leserveur de contrôle Apply.

    MONITOR CONTROL SERVERUtilisez ce paramètre pour créer des tables de contrôle de réplication pour leserveur de contrôle du moniteur.

    IN Indique l’espace table. Si vous ne spécifiez pas la clause IN, la commandeCREATE CONTROL TABLES utilise les valeurs par défaut de DB2 pour lesespaces table.

    ZOSDésigne z/OS ou OS/390.

    UWDésigne Linux, UNIX ou Windows.

    NONIBMIndique une source de données fédérée, comme Oracle ou Informix.

    Federated-clause

    OTHERSIndique l’espace table de toutes les tables de contrôle de réplicationlorsqu’elles sont créées dans une base de données non DB2. Nespécifiez de nom d’espace table ou de segment que pour les sourcesdistantes qui les prennent en charge.

    SCHEMAIndique le nom de schéma distant d’un serveur de réplication sourcefédéré. Il s’agit par défaut de l’ID utilisateur distant. Si le schéma esten minuscules ou en casse mixte sur la source de données fédérée,vous devez placer la chaîne entre guillemets pour vous assurer qu’ellene sera pas convertie en majuscules. L’emploi de noms en minusculeset de guillemets est recommandé pour les sources Informix.

    UOWIndique l’espace table de la table d’unité de travail (UOW).

    ALERTSIndique une base de données existante sur z/OS pour y créer les tables decontrôle. Ce mot clé est uniquement valide lors de la création de serveurs decontrôle du moniteur.

    PAGE LOCKIndique l’espace table des tables de contrôle de réplication nécessitant unverrouillage au niveau de la page. La table doit se trouver dans une base dedonnées existante.

    20 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • ROW LOCKIndique l’espace table des tables de contrôle de réplication nécessitant unverrouillage au niveau de la ligne. La table doit se trouver dans une base dedonnées existante.

    DB nombd

    Indique le nom d’une base de données existante. Vousdevez préciser le nom de la base de données, même si vous l’avez défini dansle profil.

    OTHERSIndique l’espace table de toutes les tables de contrôle de réplication, excepté latable des unités d’oeuvre.

    nomespacetabeIndique le nom de l’espace table de la table d’alertes du moniteur. L’entréenomespacetabe peut être un nom d’espace table ou de segment hétérogène.

    NAMING PREFIX préfixeIndique un préfixe de désignation des tables de contrôle.

    CREATE USING PROFILE nomprofUtilisez ce paramètre pour créer les tables de contrôle à l’aide du profilnomprof. Si vous spécifiez le paramètre CREATE USING PROFILE, leprogramme ASNCLP utilise nomespacetabe comme clé (pour z/OS, la clé estnombd.nomespacetable).

    REUSEUtilisez ce paramètre pour réutiliser l’index ou l’espace table en cours. Vousdevez émettre le paramètre CREATE USING PROFILE avant d’utiliser leparamètre REUSE. Lorsque vous spécifiez le paramètre REUSE, le programmeASNCLP vérifie si l’espace table ou l’index existe pour le nomespacetabe :v Si l’espace table ou l’index existe, le programme ASNCLP initialise les

    indicateurs et transmet l’objet rempli.v Si l’espace table ou l’index n’existe pas, le programme ASNCLP affiche une

    erreur de syntaxe informant de l’attente du paramètre CREATE USINGPROFILE.

    Exemple 1

    Pour créer les tables de contrôles Capture et nommer l’espace table UOWTSUOW100 ainsi que tous les autres espaces table TSASN100 :CREATE CONTROL TABLES FOR CAPTURE SERVER IN UW UOW TSUOW100 OTHERS TSASN100

    Exemple 2

    Pour créer les tables de contrôle Apply et nommer tous les espaces tableTSASN100, excepté l’espace table UOW :CREATE CONTROL TABLES FOR APPLY CONTROL SERVER IN UW OTHERS TSASN100

    Commande CREATE MEMBERLa commande CREATE MEMBER vous permet d’ajouter un membre d’ensembled’abonnements à un ensemble d’abonnements existant.

    L’ajout d’un membre à un ensemble implique :v La création du mappage entre les tables source et cible (objets de bases de

    données).

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 21

  • v La création du mappage entre les colonnes source et cible.v La création de la table cible (objet de base de données), si elle n’existe pas déjà.v La création de l’index cible, si nécessaire.v Le paramétrage de la valeur KEYS pour l’index.

    Syntaxe

    �� CREATE MEMBER IN SETNAME nomensemble APPLYQUAL qual-applyACTIVATE NO

    YESONCE

    SOURCE �

    �propriétaireobjet .

    nomobjettarget-clause TGT KEY CHANGE OFF

    ON

    �WHERE ″instructions-where-sql″

    COLSALL REGISTERED

    ,

    INCLUDE ( EXPRESSION ″expr″ )TARGET nom

    ,

    EXCLUDE ( nomcol )

    ,

    KEYS ( nomclé + )–

    loadx-clause��

    target-clause :

    TARGETNAME nom federated-clause

    propriétaire .

    �DEFINITION trg-def-clause

    federated-clause :

    REMOTE SCHEMA propriétaire REMOTE TABLE nom

    trg-def-clause :

    IN nomespacetabe prof-clauseDB nom NAMING PREFIX préfixe

    22 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • �TYPE PIT

    USERCOPYBASEAGGREGATECHANGEAGGREGATEREPLICA replica-clauseCCD ccd-clause EXTERNAL

    INTERNAL

    prof-clause :

    CREATE USING PROFILE nomprofREUSE

    replica-clause :

    CD nomcdpropriétairecd .

    �IN nomespacetabe prof-clause

    DB NOM NAMING PREFIX préfixe

    �UPDATE AS DELETE INSERT OFF

    ONFORWARDING OFF

    ONFULL REFRESH ON

    OFF

    �STOP ON ERROR ON

    OFF

    ccd-clause :

    join-optionsno-join-options

    join-options :

    JOIN CD UOW AS SOURCECOMPLETE ON

    OFFWITH UOW COLS ALL

    cols-clause

    CONDENSED ONOFF

    cols-clause :

    ,

    ( nomcol )

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 23

  • no-join-options :

    NO JOIN CD UOW AS SOURCECOMPLETE ON

    OFF

    CONDENSED ONOFF

    loadx-clause :

    LOADX TYPE NO ASNLOADUSER DEFINEDCROSSLOADER LOAD SRC NICKNAME propriétaire.nomtableLOAD EXPORTIMPORT EXPORT

    Paramètres

    SETNAME nomensembleIndique le nom de l’ensemble d’abonnements.

    APPLYQUAL qual-applyIndique le qualificatif Apply de l’ensemble d’abonnements.

    ACTIVATEIndique si l’ensemble d’abonnements doit être activé, ou non.

    NOIndiquez ce paramètre pour ne pas activer l’ensemble d’abonnements. Ils’agit de la valeur par défaut.

    YESIndiquez ce paramètre pour activer l’ensemble d’abonnements.

    ONCEIndiquez ce paramètre pour activer l’ensemble d’abonnements pour uncycle Apply, puis désactivez-le.

    SOURCE proriétaireobjet.nomobjetIndique le propriétaire et le nom de l’objet source.

    TGT KEY CHANGEIndique si la clé cible peut changer, ou non.

    OFFIndique que la valeur de la clé ne peut pas changer. Il s’agit de la valeurpar défaut.

    ONIndique que la valeur de la clé peut changer.

    WHERE ″instructions-where-sql″Indique la clause WHERE qui sera évaluée pour ce membre. Les guillemetsdoubles sont obligatoires.

    COLSIndique les colonnes à inclure dans la table cible.

    ALL REGISTEREDIndiquez ce paramètre pour inclure toutes les colonnes enregistrées.

    INCLUDEIndique les colonnes à inclure.

    24 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • EXPRESSION ″col_ou_expr″Le mot clé EXPRESSION doit précéder le nom de toute colonne sourceque vous voulez inclure dans la table cible ou de toute expression SQLque vous utilisez pour transformer les données entre la source et lacible. Placez les noms de colonne ou les expressions entre guillemets(″). Séparez plusieurs colonnes ou expressions par des virgules.L’exemple suivant spécifie que vous voulez inclure les colonnes C1 etC2 à partir de la table source :COLS INCLUDE (EXPRESSION "C1", EXPRESSION "C2")

    TARGET nom_colonneVous devez utiliser le mot clé TARGET dans les cas suivants :v Une expression est spécifiée dans l’instruction COLS INCLUDE. Le

    mot clé TARGET spécifie la colonne ou les colonnes de la table cibleà laquelle vous voulez appliquer les résultats de l’expression.

    v La table cible existe déjà, un nom de colonne source normal estutilisé dans l’instruction COLS INCLUDE et le nom de colonne cibleest différent du nom de colonne source.

    L’exemple suivant spécifie que vous voulez inclure deux colonnes etune expression à partir de la table source : colonne C1, colonneC2 mappées vers une colonne nommée TGTC2 sur la cible, et uneexpression qui concatène les valeurs des colonnes C3 et C4 à partir dela table source et applique la nouvelle valeur dans la colonne C3C4 surla cible :COLS INCLUDE (EXPRESSION "C1", EXPRESSION "C2" TARGET "TGTC2",

    EXPRESSION "C3||C4" TARGET "C3C4")

    EXCLUDE (nom_colonne)Spécifiez ce paramètre pour exclure une ou plusieurs colonnes source àpartir de la définition de la table cible. Vous ne pouvez utiliser ce mot cléque lorsque vous créez une nouvelle table cible ou pour une table cibleexistante lorsque les tables source et cible ont les mêmes noms de colonne.

    KEYS nomcléIndique les noms de clé. Les clés croissantes comportent un signe plus (+) et lesclés décroissantes un signe moins (-).

    target-clause :

    TARGETIndique l’objet cible.

    NAME propriétaire.nomIndique le nom et le propriétaire de l’objet cible.

    DEFINITIONIndique la base de données, l’espace table et le type de table cible.

    federated-clause

    REMOTE SCHEMA propriétaireIndique le schéma d’une nouvelle table cible créée par le programme ASNCLP.Si ce mot clé n’est pas utilisé, le schéma par défaut est l’ID d’autorisationdistante de la base de données cible non DB2.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 25

  • REMOTE TABLE nomIndique le nom d’une nouvelle table cible créée par le programme ASNCLP. Sice mot clé n’est pas utilisé, le nom de table par défaut est le nom dupseudonyme correspondant dans la base de données fédérée.

    trg-def-clause :

    IN Indique l’espace table de la table cible. Si vous ne spécifiez pas la clause IN, lacommande utilise les valeurs par défaut de DB2 pour les espaces table.

    DB nomIndique le nom de la base de données contenant la table cible et son espacetable. Vous devez spécifier le nom de la base de données, même si vousl’avez défini dans le profil.

    nomespacetabeIndique le nom de l’espace table. Pour z/OS, le nom inclut celui de la basede données (par exemple, ″nombd.nomespacetable″). Cette commande ne créepas la base de données. Vous pouvez spécifier un nom d’espace table oude segment hétérogène, mais il doit déjà exister.

    NAMING PREFIX préfixeIndique un préfixe de désignation à utiliser pour créer l’espace table.

    TYPEIndique le type de table cible.

    PITIndique une table des points de cohérence.

    USERCOPYIndique une table de copie utilisateur.

    BASEAGGREGATEIndique une table d’agrégation de base. Cette table contient des donnéesagrégées de la source ou de la table des points de cohérence parintervalles.

    CHANGEAGGREGATEIndique une table d’agrégation des modifications. Cette table contient desdonnées basées sur les modifications apportées à une table source (tableCD ou CCD interne).

    REPLICAIndique une table réplique pour la réplication bidirectionnelle.

    CCDIndique une table de modification cohérente des données (CCD).

    EXTERNALIndique que la table CCD est externe.

    INTERNALIndique que la table CCD est interne.

    26 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • prof-clause :

    CREATE USING PROFILE nomprofUtilisez ce paramètre pour prendre la valeur nomespacetable comme clé (pourz/OS, la clé est nombd.nomespacetable).

    REUSEUtilisez ce paramètre pour réutiliser l’index ou l’espace table en cours. Vousdevez émettre le paramètre CREATE USING PROFILE avant d’utiliser leparamètre REUSE. Lorsque vous spécifiez le paramètre REUSE, le programmeASNCLP vérifie si l’espace table ou l’index existe pour le nomespacetabe :v Si l’espace table ou l’index existe, le programme ASNCLP initialise les

    indicateurs et transmet l’objet rempli à l’interface de programmed’application.

    v Si l’espace table ou l’index n’existe pas, le programme ASNCLP affiche uneerreur de syntaxe informant de l’attente du paramètre CREATE USINGPROFILE.

    replica-clause :

    CD propriétairecd.nomcdIndique le nom du propriétaire de l’objet et celui de la table de modificationdes données (CD) pour la table réplique.

    UPDATE AS DELETE INSERTIndique comment gérer les instructions UPDATE SQL.

    OFFIndiquez ce paramètre pour capturer les mises à jour en tant que mises àjour. Il s’agit de la valeur par défaut.

    ONIndiquez ce paramètre pour capturer les mises à jour en tant que pairessuppression-insertion.

    FORWARDINGIndique si les modifications enregistrées sont transmises à d’autres répliques,ou non.

    OFFIndiquez ce paramètre pour ne pas transmettre les modificationsenregistrées.

    ONIndiquez ce paramètre pour transmettre les modifications enregistrées.

    FULL REFRESHIndique si une régénération intégrale est effectuée sur la table réplique.

    ONIndiquez ce paramètre pour effectuer une régénération intégrale. Il s’agitde la valeur par défaut.

    OFFIndiquez ce paramètre pour ne pas effectuer de régénération intégrale.

    STOP ON ERRORIndique si le programme Capture doit s’interrompre lorsqu’il rencontre unerreur.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 27

  • ONIndiquez ce paramètre pour interrompre le programme Capture si uneerreur Capture survient. Il s’agit de la valeur par défaut.

    OFFIndiquez ce paramètre pour continuer le programme Capture si une erreurCapture survient.

    ccd-clause :

    join-options :

    JOIN CD UOWIndique que la table CD et la table IBMSNAP_UOW sont jointes pour obtenirdes informations de validation pour des transactions. La table CCD est crééeavec le type 3.

    AS SOURCEIndique que la table CCD est une source.

    WITH UOW COLS

    ALLIndique que la table CCD inclut des colonnes de la table IBMSNAP_UOW.

    COMPLETEIndique si la table CCD est complète.

    ONIndique que la table CCD comprend toutes les données. Il s’agit de lavaleur par défaut.

    OFFIndique que la table CCD ne comprend que les modifications.

    CONDENSEDIndique si la table CCD est condensée, ou non.

    ONIndique que la table CCD n’inclut que la dernière modification de chaqueligne. Il s’agit de la valeur par défaut.

    OFFIndique que la table CCD inclut un historique des modifications pourchaque ligne.

    cols-clause :

    nomcolIndique quelles colonnes UOW devraient être inclues dans la table CCD. Cescolonnes comprennent : IBMSNAP_APPLY_QUAL, IBMSNAP_AUTHID,IBMSNAP_AUTHTKN, IBMSNAP_REJ_CODE et IBMSNAP_UOWID.

    no-join-options :

    NO JOIN CD UOWIndique que la table CD et la table IBMSNAP_UOW ne doivent pas êtrejointes. La table CCD sera créée avec le type 9.

    AS SOURCEIndique que la table CCD est une source.

    28 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • COMPLETEIndique si la table CCD est complète.

    ONIndique que la table CCD comprend toutes les données. Il s’agit de lavaleur par défaut.

    OFFIndique que la table CCD ne comprend que les modifications.

    CONDENSEDIndique si la table CCD est condensée, ou non.

    ONIndique que la table CCD n’inclut que la dernière modification de chaqueligne. Il s’agit de la valeur par défaut.

    OFFIndique que la table CCD inclut un historique des modifications pourchaque ligne.

    loadx-clause :

    LOADX TYPEIndique le type de chargement à utiliser avec ce membre.

    NO ASNLOADIndiquez ce paramètre pour ne pas utiliser ASNLOAD pour ce membre.

    USER DEFINEDIndiquez ce paramètre pour utiliser une exit ASNLOAD définie oumodifiée par l’utilisateur.

    CROSSLOADER LOAD SRC NICKNAME propriétaire.nomtableIndique le propriétaire et le nomtable à utiliser avec l’utilitaire LOAD fromCURSOR pour ce membre.

    LOAD EXPORT

    Utilisez ce paramètre pour employer une combinaisonEXPORT/LOAD pour ce membre.

    IMPORT EXPORT

    Utilisez ce paramètre pour employer une combinaisonEXPORT/IMPORT pour ce membre.

    Notes sur l’utilisationv L’objet cible n’est pas obligatoire pour la commande, mais cette dernière requiert

    par contre un objet cible afin que le programme ASNCLP puisse dériver le nomde la cible.

    v Vous ne pouvez pas spécifier de niveau de détection de conflit pourl’enregistrement automatique de la table réplique car il est hérité de la tablemaîtresse.

    v Vous ne pouvez pas indiquer de mises à jour de capture en tant que pairessuppression-insertion pour l’enregistrement automatique de tables CCD car iln’y a aucun programme Capture pour ces tables.

    v Si l’ensemble d’abonnements est vide lorsque vous exécutez cette commande,elle utilise la valeur par défaut YES pour le mot clé ACTIVATE.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 29

  • Exemple 1

    Dans cet exemple, vous créez un membre dans l’abonnement SET00 défini pour lemappage de la table source STAFF vers la table cible TRGSTAFF. La tableTRGSTAFF est créée dans l’espace table TSUOW100 et l’index de la tableTRGSTAFF est créé selon les paramètres du profil TBSPROFILE.CREATE MEMBER IN SETNAME SET00 APPLYQUAL AQ00 SOURCE DB2ADMIN.STAFF

    TARGET NAME DB2ADMIN.TRGSTAFF DEFINITION IN TSUOW100 CREATE USINGPROFILE TBSPROFILE;

    Exemple 2

    Les commandes suivantes définissent l’environnement et créent un membre del’ensemble d’abonnements avec une base de données Linux, UNIX ou Windows entant que serveur Capture, ainsi qu’une cible Microsoft SQL Server. Le serveur decontrôle Apply est le même que le serveur Capture. Le membre possède lesattributs suivants :v Nom de l’ensemble d’abonnements : SET1v Qualificatif Apply : APPQUAL1v Propriétaire source : repldbav Table source : EMPLOYEEv Propriétaire de pseudonyme cible : repldbav Pseudonyme cible : TRGEMPNICK

    Les commandes créent des définitions pour une nouvelle table cible dans la basede données SQL Server avec le schéma distant dbo et le nom TRGEMPLOYEE.SET SERVER CONTROL TO DB SAMPLE;SET SERVER CAPTURE TO DB SAMPLE;SET SERVER TARGET TO DB MSSQLDB NONIBM SERVER SQLSERVER;SET OUTPUT CAPTURE SCRIPT "cap.sql";SET OUTPUT TARGET SCRIPT "target.sql";SET OUTPUT CONTROL SCRIPT "control.sql";SET LOG "MEM.OUT";CREATE MEMBER IN SETNAME SET1 APPLYQUAL APPQUAL1 ACTIVATE YES

    SOURCE repldba.EMPLOYEE TARGET NAME repldba.TRGEMPNICKREMOTE SCHEMA dbo REMOTE TABLE TRGEMPLOYEE;

    Commande CREATE REGISTRATIONLa commande CREATE REGISTRATION vous permet d’enregistrer une ouplusieurs tables sources, vues ou pseudonymes pour la réplication.

    Syntaxe

    �� CREATE REGISTRATION �

    � �

    ,

    ( nomobjet )propriétaireobjet . RMTJRN LIB nombibl NAME nomjournal

    30 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • � DIFFERENTIAL REFRESH diff-ref-clauseFULL REFRESH ONLY

    ��

    diff-ref-clause :

    STAGE nom_cd_ou_ccdpropriétaire_cd_ou_ccd .

    CONDENSED ONOFF

    �NONIBM fed-clause IN nomespacetabe prof-clause

    DB nom NAMING PREFIX préfixe

    �COLS capcol-clause OPTIONS opt-clause

    fed-clause :

    propriétaireccddistant .nomccddistant

    prof-clause :

    CREATE USING PROFILE nomprofREUSE

    capcol-clause :

    ALL IMAGE AFTER,

    INCLUDE IMAGE BEFORE ( nomcol )BOTH

    ,

    ( nomcol )IMAGE AFTER

    BOTH

    �PREFIX X

    préfimageavant

    opt-clause :

    CONFLICT NONESTANDARDENHANCED

    UPDATE AS DELETE INSERT OFFON

    CAPTURE ALLCHANGES

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 31

  • �FORWARDING OFF

    ONFULL REFRESH ON

    OFFSTOP ON ERROR ON

    OFF

    Paramètres

    propriétaireobjetIndique le propriétaire de l’objet source (table, vue ou pseudonyme) àenregistrer. Vous pouvez indiquer plusieurs objets.

    nomobjetIndique le nom de l’objet source (table, vue ou pseudonyme) à enregistrer.Vous pouvez indiquer plusieurs objets.

    LIB nombibl

    Indique le nom de la bibliothèque System i.

    NAME nomjournal

    Indique le nom du journal System i.

    DIFFERENTIAL REFRESHIndiquez ce paramètre pour mettre à jour la table cible de manière périodique,selon les modifications de l’objet source.

    FULL REFRESH ONLYIndiquez ce paramètre pour réaliser uniquement une régénération intégrale, aulieu d’appliquer les modifications.

    diff-ref-clause :

    STAGE propriétaire_cd_ou_ccd.nom_cd_ou_ccdIndique le nom et le propriétaire de la table de modification des données (CD).Pour les sources non DB2, indique le nom et le propriétaire de la table demodification cohérente des données (CCD).

    Remarque : si le nom d’objet est une vue, il peut donc y avoir plusieurs nomsde table CD. N’incorporez pas ce paramètre, au risque de voir la commandegénérer des noms de vues pour vous. Dans ce cas, le programme ASNCLPignore les valeurs que vous spécifiez pour ce paramètre.

    CONDENSED

    ONIndiquez ce paramètre pour conserver la valeur de donnée la pluscourante.

    OFFIndiquez ce paramètre pour conserver un historique des données.

    Remarque :

    v Doit être défini sur OFF si la source est non DB2.v Ce paramètre est ignoré pour une table CD puisque ces tables sont toujours

    non condensées.

    NONIBMIndique les options non DB2.

    propriétaireccddistant.Indique le propriétaire de la table CCD dans la base de données non DB2.

    32 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • nomccddistantIndique le nom de la table CCD dans la base de données non DB2.

    IN Indique l’espace table CD ou CCD. Si vous ne spécifiez pas la clause IN, lacommande utilise les valeurs par défaut DB2 pour les espaces table.

    DBnomIndique le nom d’une base de données existante où la table CD ou CCD seracréée. Vous devez spécifier le nom de la base de données, même si vous l’avezdéfini dans le profil.

    nomespacetabeIndique le nom de l’espace table. Pour z/OS, le nom inclut celui de la base dedonnées (par exemple, ″nombd.nomespacetable″). Vous pouvez spécifier unnom d’espace table ou de segment hétérogène, mais il doit déjà exister.

    NAMING PREFIX préfixeIndique un préfixe de désignation aux tables de contrôle.

    prof-clause :

    CREATE USING PROFILE nomprofIndiquez ce paramètre pour créer l’enregistrement à l’aide d’un profil.

    REUSEUtilisez ce paramètre pour réutiliser l’index ou l’espace table en cours. Vousdevez émettre le paramètre CREATE USING PROFILE avant d’utiliser leparamètre REUSE. Lorsque vous spécifiez le paramètre REUSE, le programmeASNCLP vérifie si l’espace table ou l’index existe pour le nomespacetabe :v Si l’espace table ou l’index existe, le programme ASNCLP initialise les

    indicateurs et transmet l’objet rempli à l’interface de programmed’application.

    v Si l’espace table ou l’index n’existe pas, le programme ASNCLP affiche uneerreur de syntaxe informant de l’attente du paramètre CREATE USINGPROFILE.

    COLSIndique les colonnes que vous voulez enregistrer.

    Remarque : Cette commande ne s’applique que si l’objet est une table. Sil’objet est une vue, vous ne pouvez pas enregistrer un sous-ensemble descolonnes.

    capcol-clause :

    ALLIndique que vous voulez enregistrer toutes les colonnes. Il s’agit de la valeurpar défaut.

    IMAGE AFTERIndiquez ce paramètre pour enregistrer uniquement les colonnes d’imageaprès.

    INCLUDE IMAGE BEFOREIndiquez ce paramètre pour enregistrer des images avant ainsi que desimages après pour les colonnes répertoriées.

    nomcolIndiquez ce paramètre pour spécifier une liste des colonnes pour lesquellesvous voulez enregistrer des images avant.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 33

  • IMAGE BOTHIndiquez ce paramètre pour enregistrer les colonnes d’image avant et d’imageaprès.

    nomcolIndique une liste des colonnes que vous voulez enregistrer.

    PREFIX

    v Si vous spécifiez IMAGE AFTER, le préfixe a la valeur nulle et la sourcen’autorise pas de colonnes d’image avant.

    v Si vous spécifiez IMAGE BOTH ou IMAGE BEFORE et pas PREFIX, unevaleur par défaut X est utilisée comme préfixe des images avant. Si vousindiquez un PREFIX, cette valeur est utilisée.

    Vous ne pouvez pas modifier un préfixe d’image avant existant avec lacommande ALTER REGISTRATION ROW. Vous pouvez toutefois ajouter cepréfixe à une nouvelle colonne d’image avant. Si le préfixe d’image-avantexistant a une valeur nulle et que vous souhaitez ajouter une colonned’image-avant à l’enregistrement existant, vous pouvez spécifier le préfixed’image-avant à l’aide de la commande ALTER REGISTRATION ADD. Si vousn’indiquez pas de préfixe, le programme ASNCLP définit X comme valeur pardéfaut.

    opt-clause :

    CONFLICTIndique le niveau de détection de conflit.

    NONEPas de détection de conflit. Les mises à jour conflictuelles entre la tablemaîtresse et la table réplique ne sont pas détectées. Cette option n’est pasrecommandée pour la réplication de mise à jour bidirectionnelle. Il s’agitde la valeur par défaut.

    STANDARDDétection de conflit modérée. Pendant chaque cycle Apply, le programmeApply compare les valeurs de clés de la table de modification des données(CD) du maître à celles de la table CD de la réplique. Si les deux tables CDcontiennent la même valeur de clé, il y a un conflit. En cas de conflit, leprogramme Apply annule la transaction précédemment validée dans laréplique en lisant la table CD de la réplique et en ne conservant que lesmodifications issues du maître.

    ENHANCEDDétection de conflit fournissant la meilleure intégrité des données parmi lemaître et ses répliques. Comme pour la détection Standard, le programmeApply compare les valeurs de clés de la table CD du maître avec celles dela table CD de la réplique lors de chaque cycle Apply. Si les deux tablesCD contiennent la même valeur de clé, il y a un conflit. Toutefois, avec ladétection améliorée, le programme Apply attend la validation de toutes lestransactions en cours avant de contrôler les conflits. Pour s’assurer qu’ilintercepte bien toutes les transactions en cours, le programme Applyverrouille toutes les tables cible dans l’ensemble d’abonnements contre lestransactions ultérieures et démarre la détection de conflit aprèsenregistrement de toutes les modifications dans la table CD. En cas deconflit, le programme Apply annule la transaction précédemment validéedans la réplique en lisant la table CD de la réplique et en ne conservantque les modifications issues du maître.

    34 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • UPDATE AS DELETE INSERT

    ONIndiquez ce paramètre pour capturer les mises à jour en tant que pairessuppression-insertion.

    OFFIndiquez ce paramètre pour capturer les mises à jour en tant que mises àjour. Il s’agit de la valeur par défaut.

    CAPTURE

    ALLIndiquez ce paramètre pour tout capturer. Il s’agit de la valeur par défaut.

    CHANGESIndiquez ce paramètre pour ne capturer que les modifications.

    FORWARDING

    OFFIndiquez ce paramètre pour ne pas transmettre les modifications de cettesource. Il s’agit de la valeur par défaut.

    ONIndiquez ce paramètre pour transmettre les modifications de cette source.

    FULL REFRESH

    ONIndiquez ce paramètre pour autoriser les régénérations intégrales de cettesource. Il s’agit de la valeur par défaut.

    OFFIndiquez ce paramètre pour ne pas autoriser les régénérations intégrales decette source.

    STOP ON ERROR

    ONIndiquez ce paramètre pour ne pas interrompre le programme Capture s’ildétecte une erreur pour cet enregistrement. Il s’agit de la valeur par défaut.

    OFFIndiquez ce paramètre pour interrompre le programme Capture s’il détecteune erreur pour cet enregistrement.

    Notes sur l’utilisation

    Si plusieurs objets sont enregistrés en même temps :v La clause nom et propriétaire objet de la table CD ou CCD est ignorée. La

    commande génère ses propres valeurs par défaut.v Les spécifications relatives aux espaces table s’appliquent à tous les

    enregistrements.v Les valeurs OPTIONS sont communes à tous les enregistrements.v Si l’objet source est une vue, la commande décide si la source peut être

    enregistrée comme régénération intégrale ou différentielle et la zone d’entrée estignorée.

    Chapitre 2. Commandes ASNCLP pour la réplication SQL 35

  • Exemple 1

    Pour créer un enregistrement pour DB2ADMIN.STAFF qui n’effectue que lesrégénérations intégrales :CREATE REGISTRATION (DB2ADMIN.STAFF) FULL REFRESH ONLY

    Exemple 2

    Pour créer un enregistrement pour DB2ADMIN.STAFF qui mette à jour la tablecible selon les modifications des objets source, enregistre les colonnes d’imageaprèsC002 et C003, et enregistre les colonnes d’image après et d’image avant C000et C001 :CREATE REGISTRATION (DB2ADMIN.STAFF) DIFFERENTIAL REFRESH STAGE CDSTAFFCOLS (C000 IMAGE BOTH, C001 IMAGE BOTH, C002 IMAGE AFTER, C003 IMAGE AFTER) PREFIX X

    Exemple 3

    Pour créer un enregistrement pour DB2ADMIN.EMPLOYEE qui mette à jour latable cible selon les modifications des objets source, enregistrer les images aprèspour toutes les colonnes de la table source et également enregistrer les imagesavant pour toutes les colonnes SALARY et BONUS :CREATE REGISTRATION (DB2ADMIN.EMPLOYEE) DIFFERENTIAL REFRESHCOLS ALL IMAGE AFTER INCLUDE IMAGE BEFORE(SALARY,BONUS)PREFIX X;

    Commande CREATE STMTUtilisez la commande CREATE STMT pour créer une instruction pour un ensembled’abonnements existant. Cette commande vous permet d’ajouter une instructionSQL ou une procédure mémorisée que le programme Apply traitera pourl’ensemble d’abonnements.

    Syntaxe

    �� CREATE STMT IN SETNAME nomensemble APPLYQUAL qual-applySETTYPE R

    UP

    �SQL ″instruction″PROC ″nomproc″

    NUMBER numinstructionEXECUTE AT SOURCE

    AFTER AT TARGETBEFORE AT TARGET

    �SQLSTATES ″états″

    ��

    Paramètres

    SETNAME nomensembleIndique le nom de l’ensemble d’abonnements.

    APPLYQUAL qual-applyIndique le qualificatif Apply de l’ensemble d’abonnements.

    SETTYPEIndique le type d’ensemble d’abonnements.

    R Indique un ensemble en lecture seule. Il s’agit de la valeur par défaut.

    36 IBM InfoSphere Replication Server - Référence du programme ASNCLP pour la réplication et la publication d’événements

  • U Indique un ensemble bidirectionnel.

    P Indique un ensemble d’égal à égal.

    SQL ″instruction″Indique une instruction SQL. Les guillemets doubles sont obligatoires.

    PROC ″nomproc″Indique un nom de procédure mémorisée. Les guillemets doubles sontobligatoires.

    NUMBER numinstructionIndique le numéro d’ins