You are on page 1of 12

12/07/13 DJRA-DPROPR

Production Informatique
Sylvie Brunet

PRESENTATION DE DJRA ET DPROPR

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 1/12

12/07/13 DJRA-DPROPR

Rappel de larchitecture en TEST


Nom du DB2 :DB2T machine :SYSA TABLES SOURCES (*0) SIGMA T%
Owner : dataware ?

CAPTURE

TABLES CIBLES (*2) Tnnxx ou nn numro rserv


Owner : dataware ?

APPLY

TABLE CD_T% (*1)


Owner : ASN

Alimentation
Purge

Log DB2

TABLES PARAMETRES PRODUIT


Owner : ASN

TABLES ENTREPROT (*3) T%


Owner : dataware ?

TABLES DATAMART T% (*4)


Owner :dataware ?

Alimentation

Fichiers plats Lgende : Les lments en jaune sont gres par les applicatifs Les lments en vert sont des composants techniques associes au produit Datapropagator Les tables en orange sont des tables techniques dans lesquelles Datapropagator propage des mises jour ; leur donnes sont accessibles par les applicatifs : en lecture pour lalimentation de lentrept et en suppression (delete) pour faire les purges. CAPTURE est un processus de capture des mises jour ; il peut tourner en permanence (en background choix en production, sous forme dune STC) ou cyclique (choix probable pour le test ) ; lorsque il ne tourne pas de faon continue, il se repositionne sur les logs DB2 au point darrt (maximum 7 jours) APPLY est un processus de lapplication des mises jour sous forme des jobs soumis par l Administrateur dans lenvironnement de Test, planifis sous OPC dans lenvironnement de Production (avec une frquence dterminer ; la frquence peut-tre gale ou infrieure aux besoins de lapplicatif. Elle sera infrieure si la volumtrie des TABLES CD_% (*1) augmente de faon considrable).

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 2/12

12/07/13 DJRA-DPROPR

1 DJRA (produit micro) configuration


Il faut que les alias des DB2 (source et cible) soit dfinis dans la configuration de DJRA (fait par lquipe STARS. Aujourdhui lalias du DB2 de test via le produit est DB2TMVS. Prendre sous File le sous-menu Preferences dans : Path mettre le chemin des binaires DJRA Output pour le test mettre dans la directory G:\dpropr TEST Connection Database correspond ( lalias DB2) DB2TMVS pour le DB2T Et le UserID le nom RACF pour se connecter au DB2T. On utilise un user RACF unique propre DPROPR: usrdpe Attention ce user est DB2TSADM Trace pour mettre un fichier de log et tracer ce que fait DRJA

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 3/12

12/07/13 DJRA-DPROPR

2 DJRA (produit micro)- Faire la capture dune table source


Ne jamais utiliser les deux premiers push-buttons de la boite Tools to define and remove control tables : Create Replication Control Tables Remove Replication Control Tables Les tables de contrles de DPROPR sont cres par des JCL HOST par lingnieur systme. Ces tables seront mises avec loption DROP RESTRICT ON DROP. Ce sont les tables ASN.IBMSNAP_% dans la base DBPROPR.

Utiliser la boite Tools to define and maintain replication sources Num. ACTION 1 Dfinir une table Txxxx en tant que source de DPROPR Push-button DJRA Traduction en DDL DB2 Define One Table as Script : addregTxxxx.sql a Repliction Source Connection au DB2 source (ou Define Multiple) Cration dun Tablespace TSxxxx Cration de la table CD_Txxxx dans le TSxxxx Ajout de loption DATA CAPTURE CHANGES sur la table Txxxx Cration de la table ASN.CD_Txxxx (avec 3 colonnes
techniques en tte de table IBMSNAP_UOWID char(10) FOR BIT DATA NOT NULL, IBMSNAP_INTENTSEQ CHAR(10) FOR BIT DATA NOT NULL et IBMSNAP_OPERATION CHAR(1) NOT NULL)

Rajouter une colonne dans la table de capture CD_Txxxx

Cration dun index unique ASN.XUCD_Txxxx sur la table CD_Txxxx Insertion dune ligne dans la table ASN.IBMSNAP_REGISTER List or Change Script : altregTxxxx_JJMMAA.sql Replication Sources Connection au DB2 source Ajout de la colonne (ou des colonnes) par un ALTER TABLE colonne en not null with default (cest dire en fin de table) En standard DJRA ne propose que

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 4/12

12/07/13 DJRA-DPROPR

Num. ACTION

Push-button DJRA

Traduction en DDL DB2 lajout de colonne, pour les autres modifications il faudra travailler en DB2 natif

Lajout peut se faire avec la fonction CAPTURE active ou dsactive, table CD_Txxxx charge ou vide Supprimer la table Remove Replication Script : delregTxxxx.sql CD_Txxxx et le Sources Connection au DB2 source paramtrage Suppression de la ligne dans la table ASN.IBMASNP_REGISTER DPROPR pour que la Suppression de la table table source Txxxx ne CD_Txxxx soit plus capture. Supression du tablespace Avant deffectuer DBPROPR.Txxxx cette fonction il faut vrifier quil ny a Attention : Ne gnre pas plus de tables cibles lALTER DATA CAPTURE associes cette NONE capture Arrter la fonction capture pendant lopration

Les autres modifications des structures des tables CD_Txxxx sont effectuer de faon manuelle (Hors DRJA), cela peut entraner des erreurs et donc des disfonctionnement du produit Dpropr. Mais ceci reste faisable. En rsum : Les tables impactes du produit (sur le DB2 source) est la table : ASN.IBMSNAP_REGISTER

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 5/12

12/07/13 DJRA-DPROPR

3 DJRA (produit micro) Cration de tables cibles


Utiliser la boite Tools to define and maintain subscription Set N.B. Nous aurons normalement, plusieurs Job dapply, qui tourneront en fonction de la frquence supporte par les flots dalimentation des tables CD_T% et des volonts des applicatifs. Lapply est compos de plusieurs subscription SETS. A lAGME nous partirons normalement un SET par table cible et le nom du SET sera STyyyy ou Tyyyy est le nom de la table cible. Nom de lapply, exemple : AQTEST (je ne connais pas encore les normes au niveau des noms des apply de production). STDISTA pointe sur une table cible Tyyyy AQTEST STDISTB pointe sur une table cible STDISTC pointe sur une table cible Rappel des types de tables cibles et le vocabulaire associ : Complete = signifie que lon ramne toutes les lignes de la table source, mme si la ligne na pas t modifie Non-complete = on ne ramne que les lignes modifies Non-Condense = on ramne tout lhistorique des mise jour effectue sur les lignes de la table source Condense = on ne ramne que la dernire mise jour effectue sur les lignes de la table source Image aprs/ image avant = cela donne une table comportant les colonnes de la table source et leur image avant Xnom_de_la_colonne de la table source CCD non-complte/ non-condense Ce sont les tables cibles qui contiennent des mise jour uniquement CCD complte/condense Ce sont des tables cibles qui sont une image de la table source avec les colonnes techniques. Les lignes supprimes dans la table source sont marques dans la table cible avec un code opration D (suppression logique) User Copy Ce sont des tables cibles qui sont une image exacte de la table source

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 6/12

12/07/13 DJRA-DPROPR

Num. ACTION 1 Crer un SET vide

Push-button DJRA Create empty subscriptions SETs Add a member to a subscription Set

Dfinir une table cible (dans un SET)

Traduction en DDL DB2 Script : addsetSTyyyy.sql Connection au DB2 cible Insertion dune ligne dans la table ASN.IBMSNAP_SUBS_SET Script: addmemTyyyy.sql Connection au DB2 cible Insertion dune ligne dans la table
ASN.IBMSNAP_SUBS_MEMBR

Insertion de n lignes dans la table


ASN.IBMSNAP_SUBS_COLS Mise jour de la ligne de la table

ASN.IBMSNAP_SUBS_SET
Connection au DB2 source

insertion dune ligne dans la table


ASN.IBMSNAP_PRUNCNTL Connection au DB2 cible Cration du Tablespace de la table cible dans la base DBDPR.Tsyyyy Cration de la table cible Tyyyy Cration de lindex sur la table cible (pas toujours obligatoire)

Ajouter une colonne dans une table cible

List Members or Add a Column to target Tables

Script: altmemTyyyy_JJMMAA.sql Connection au DB2 cible ajout de la colonne sur la table cible ALTER TABLE col not null with default Insertion dune ligne dans la table
ASN.IBMSNAP_SUBS_COLS

Supprimer le membre dans le SET et ventuellement supprimer la table cible

Remove members from Subscription SET

Script: delmemTyyyy.sql Connection au DB2 cible Suppression de la table cible Tyyyy (si prix loption remove target est coche) Suppression de la ligne dans la table ASN.IBMSNAP_PRUNCNTL
Suppression des lignes concernant cette table cible dans la table ASN.IBMSNAP_SUBS_COLS Suppression de la ligne dans la table
ASN.IBMSNAP_SUBS_MEMBR

Supprimer le SET vide

Remove empty Subscriptions SETs

Script: delsetSTyyyy.sql Connection au DB2 cible Suppression de la ligne dans la table ASN.IBMSNAP_SUBS_SET

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 7/12

12/07/13 DJRA-DPROPR

Les deux push_buttons: Add Statements or Procedures Remove Statements or Procedures Nous dconseillons dutiliser ces fonctions pour des besoins applicatifs en production, ceci par soucis de maintenance. Maintenant ceux-ci peuvent tre utiliss par les DBA, pour la bonne gestion du produit (a voir) . Attention au gnrique dans les fonctions remove, les ordres SQL gnrs sont aussi gnrique et ne correspondent pas forcment notre attente. Comme pour la modification de la CD_T%, la modification de la table cible nest prvue en standard que sous la forme ALTER TABLE. Ainsi pour les autres modifications ont devra passer en SQL natif. Il faudra faire trs attention limpact sur les tables paramtres du produit, notamment la table ASN.IBMSNAP_SUBS_COL. En rsum : Les tables produits impactes par ces dfinitions sont :
ASN.IBMSNAP_SUBS_COLS
ASN.IBMSNAP_SUBS_MEMBR

ASN.IBMSNAP_SUBS_SET
ASN.IBMSNAP_PRUNCNTL (sur le DB2 source)

Les limites de DJRA


Pour soumettre un script depuis la console DJRA, il faut sauvegarder avant le script En cas derreur pendant la soumission du script, il faut reprer le dernier commit, pour faire passer le reste (en sauvegardant une autre fois). Ceci est lourd. Dans le cas derreur, il est parfois difficile de trouver la cause, lun des repres est le successful sur la fentre de dpart. Une dernire contrainte, cest que luser RACF host utilis doit avoir les droits DBADM sur les bases de production et dataware. La mise jour en standard nest que lajout de colonne en fin de table, ce qui rpond un fort pourcentage des modifications de structures en production.

Toujours bien vrifier le code SQL gnr par DJRA quil corresponde bien au besoin.

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 8/12

12/07/13 DJRA-DPROPR

4- Les fonctions CAPTURE et APPLY (sur le HOST)


FONCTION CAPTURE 1. Dfinition Elle permet de rcuprer toutes les log DB2 pour les mettre dans les tables produit CD_T%. Dans cette version 7 de DPROPR elle est unique et donc globale toutes les tables captures. En V8 on aura la possibilit davoir plusieurs CAPTURE. 2. Une fois les tables sources et cibles dfinies Une fois les dfinitions faites dans le catalogue produit et catalogue DB2. Pour que la table source soit rellement CAPTUREE, Il faut redmarrer la fonction de CAPTURE et lancer au moins une fois LAPPLY concern. Ainsi on retrouve une ligne dans la table ASN.IBMSNAP_TRACE GOCAPT qui signifie que la CAPTURE est commence sur la table source. La fonction CAPTURE peut-tre dmarre avec plusieurs STATUS : A chaud, froid, avec loption PRUNE ou non En gnral la fonction CAPTURE est dmarre CHAUD sans loption PRUNE Loption PRUNE permet de faire le nettoyage des tables CD_T% (au dernier point de commit enregistr dans la ASN.IBMSNAP_PRUNCNTL par table. Cette option peut-tre lance en interactif quand la fonction APPLY tourne. 3. Excution du JOB PDS : PROD.DPROP.CNTL(TCAPTURE) Une fois ce job dmarr, il passe dans deux phases : veil et sommeil de faon alternative, mais il ne sarrte pas. A chaque tape dveil, il scrute la log DB2 pour faire ces captures. Pour arrter ce job il faut lancer la commande /F JKCAPT,STOP JKCAPT tant le nom du JOB. Loption Prune peut-tre lance chaud (quand JKCAPT est actif) grce la commande /F JKCAPT,PRUNE En cas de soucis sur la capture, allez voir les lignes MESSAGE dans la table ASN.IBMSNAP_TRACE

En production La fonction CAPTURE est une STC : Dmarrage sous SDSF (menu 9), en ligne de commande /S DPCAPX Arrt sous SDSF (menu 9), en ligne de commande /F DPCAPX,STOP Dclenchement de la fonction Prune /F DPCAPX,PRUNE

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 9/12

12/07/13 DJRA-DPROPR

Ou appeler le pilote (exemple Patrice Cayez)

FONCTION APPLY 4. Dfinition Elle permet de rcuprer les lignes des tables CD_T% qui sont commites pour cela le programme regarde dans la table ASN.IBMSNAP_UOW et les propages sur les tables cibles du produit (suivant leur type CCD ou user copy). Il y aura plusieurs JOB dapply, un job par apply qualifier AQxxxx mais je ne connais pas encore comment on rpartira les diffrentes collectes. 5. Excution du JOB PDS : PROD.DPROP.CNTL(TAPPLY) Nous avons pris loption quune fois sont travaille termine le JOB sarrte option NOSLEEP. En cas de soucis ou pour savoir ce cas fait lAPPLY, allez voir dans la table ASN.IBMSNAP_APPLYTRAIL

6. En production PDS : PROD.OPC.DBDC.CNTL(DPAxxxx) Changer la classe 4 en classe H, supprimer le user BATDPR pass la JOBPARM en /* et plus en commentaire, faire sub puis CAN aprs.

Le JOB de PURGE des LOG 7. Dfinition Cest un DSNSTEP2 qui permet de faire une suppression des lignes dans les deux tables ASN.IBMSNAP_TRACE et ASN.IBMSNAP_APPLYTRAIL. 8. En production Dans la table TRACE, nous regardons toutes les lignes GOCAPT, nous purgeons toutes les lignes de plus de deux jours qui ne sont pas des erreurs (SUBSTR(DESCRIPTION, 1 , 8 ) <> 'E') et les erreurs 30 jours. Dans la table APPLYTRAIL on garde 30 jours toutes les lignes qui nont pas un status 0 (les erreurs) et 9. Job dexcution PDS : GEN.DPROP710.INSTLIB(DPPURGE) Changer dAPPLY QUALIFIER Voir le job PROD.DPROP.CNTL(CHGAPLQL)

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 10/12

12/07/13 DJRA-DPROPR

ANNEXE 1 LE PARAMETRAGE DANS DPROPR modifie plusieurs tables du PRODUIT.


Sur le DB2 source : DB2X

Creator Table/View Type RowCount 1 -------- ------------------ ----- ---------***************** TOP ********************** ASN IBMSNAP_APPLYTRAIL TABLE 0 ASN IBMSNAP_CCPPARMS TABLE 1 ASN IBMSNAP_CRITSEC TABLE 0 ASN IBMSNAP_PRUNCNTL TABLE 2 une ligne par cible ASN IBMSNAP_PRUNE_LOCK TABLE 0 ASN IBMSNAP_REGISTER TABLE 3 une ligne par source ASN IBMSNAP_SUBS_COLS TABLE 0 ASN IBMSNAP_SUBS_EVENT TABLE 0 ASN IBMSNAP_SUBS_MEMBR TABLE 0 ASN IBMSNAP_SUBS_SET TABLE 0 ASN IBMSNAP_SUBS_STMTS TABLE 0 ASN IBMSNAP_TRACE TABLE 25 utilis sur le DB2 source (par
CAPTURE et APPLY (GOCAPT)

ASN

IBMSNAP_UOW

TABLE

32437 utilis sur le DB2 source

contient lindicateur des logs commites

ASN IBMSNAP_WARM_START TABLE 0 *************** BOTTOM ********************* Sur le DB2 cible:DB2W

Creator Table/View Type RowCount 1 OF 14 -------- ------------------ ----- ---------***************** TOP ********************** ASN IBMSNAP_APPLYTRAIL TABLE 23 table de log APPLY ASN IBMSNAP_CCPPARMS TABLE 1 ASN IBMSNAP_CRITSEC TABLE 0 ASN IBMSNAP_PRUNCNTL TABLE 0 ASN IBMSNAP_PRUNE_LOCK TABLE 0 ASN IBMSNAP_REGISTER TABLE 0 ASN IBMSNAP_SUBS_COLS TABLE 121 1 ligne par colonne de la table cible ASN IBMSNAP_SUBS_EVENT TABLE 0 ASN IBMSNAP_SUBS_MEMBR TABLE 2 1 ligne par table cible ASN IBMSNAP_SUBS_SET TABLE 2 1 ligne par SET ASN IBMSNAP_SUBS_STMTS TABLE 0 ASN IBMSNAP_TRACE TABLE 0 ASN IBMSNAP_UOW TABLE 0 ASN IBMSNAP_WARM_START TABLE 0 *************** BOTTOM *********************

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 11/12

12/07/13 DJRA-DPROPR

TABLES DES MATIERES


PRESENTATION DE DJRA ET DPROPR...............................................................................1 Rappel de larchitecture en TEST...........................................................................................2 Alimentation........................................................................................................................2 1 DJRA (produit micro) configuration.................................................................................3 2 DJRA (produit micro)- Faire la capture dune table source.................................................4 3 DJRA (produit micro) Cration de tables cibles...............................................................6 Les limites de DJRA...............................................................................................................8 4- Les fonctions CAPTURE et APPLY (sur le HOST)..........................................................9 FONCTION CAPTURE.....................................................................................................9 FONCTION APPLY.........................................................................................................10 Le JOB de PURGE des LOG............................................................................................10 ANNEXE 1 LE PARAMETRAGE DANS DPROPR modifie plusieurs tables du PRODUIT.............................................................................................................................11 TABLES DES MATIERES..................................................................................................12

/var/www/apps/conversion/tmp/scratch_4/157427991.doc 12/12

You might also like