Accueil

Docs pilotages  

Recherche

START ET STOP DE DB2

Start et Stop de DB2

START de DB2 :

Abréviation : -STA DB2

Il s'agit d'une commande MVS® qui a pour but de demander à MVS® le démarrage du sous-système DB2 correspondant (cf. le 'caractère de reconnaissance').

Ceci a pour conséquence le lancement de l'espace adresse du Système Services (DB2MSTR) suivi du DATABASE Services (DB2DBM1) complété par celui de l'IRLM.

La V2R2 et la mise en place de DDF donne lieu à un quatrième espace adresse. En général DB2 étant un sous-système de MVS® il peut être lancé automatiquement après l'IPL.

Certains paramètres seraient au démarrage des différents espaces adressés peuvent être indiqués (ex: MSTR ('REGION = 600OK'".

STOP de DB2 :

Abréviation : -STO DB2

Il s'agit d'une commande DB2 qui mène à l'arrêt des 3 (ou 4) espaces adresses précédemment cités (DB2MSTR puis DB2BMI et enfin l'IRLM).

2 types d'arrêt :

·        Mode (quiesce) qui est l'option par défaut, nécessite l'arrêt préliminaire du travail avec DB2, de toutes les connections à DB2 (pour les voir nous nous servirons de la commande DISPLAY THREAD).

·        Mode (force) qui arrête les travaux en cours avec des possibilités d'indétermination de DB2 quant à un COMMIT ou un ROLLBACK à appliquer à certains travaux.

  Donc à n'utiliser qu'avec la plus extrême prudence.

Start et Stop de Database

START d'une DATABASE ou d'un TABLESPACE :

Abréviation : -STA DB

La plus petite unité qui peut être lancée est un TABLESPACE.

Sachant qu'un TABLESPACE ne peut être démarré si la DATABASE à laquelle il appartient est arrêtée.

Il y a 4 types d'accès autorisé lors d'un démarrage :

·        ACCESS (RW) c'est le mode par défaut qui permet ensuite de lire et d'écrire (Read, Write).

·        ACCESS (RO) mode exceptionnel qui permet de n'autoriser que la lecture.

·        ACCESS (UT) ou seul les utilitaires auront la possibilité de travailler.

·        ACCESS (FORCE) utilisé exceptionnellement pour ne pas tenir compte d'un Flag de restriction précédemment actif.

STOP d'une DATABASE ou d'un TABLESPACE

Abréviation : -STO DB

L'arrêt d'un TABLESPACE ou d'une DATABASE par cette commande entraîne l'indisponibilité totale de cette ressource pour le sous-système DB2 (-904 sur SQLCODE=Ressource unavailable)

Format du Display Database

Abréviation : -DIS DB

Après avoir nommé le(s) DATABASE(S) et TABLESPACE(S) qui sont les objets visés par la commande -DISPLAY, les autres options suivantes peuvent être spécifiées :

·        USE - donne des informations sur les applications associées au TABLESPACE dont le statut est en Display.

·        LOCK - donne des informations sur les applications qui prennent ou qui sont en attente de locks pour le TABLESPACE dont le statut est en display.

·        AFTER - effectue le display sur toutes les DATABASES ou TABLESPACES dont le nom correspond au nom générique donné dans la commande display de DATABASES ou de TABLESPACES.

·        LIMIT - limite le nombre de messages affichés par cette commande. * donne une limite de 12k de messages (qui est la taille du buffer de message).

·        ACTIVE - limite le display aux DATABASES ou TABLESPACES qui sont alloués à une application.

·        RESTRICT - limite le display aux DATABASES ou TABLESPACES dont l'accès a été restreint de quelque manière que ce soit.

Autorisations Requises :

·        SYSADM, SYSCTRL, SYSOPR

·        PBMAINT, DBCTRL, DBADM

·        DISPLAY DISPLAYDB privilège.

Display du statut d'une database

Exemple : -DISPLAY DATABASE(*) SPACE(*) RESTRICT

C'est le message par défaut de DISPLAY DATABASE quand "USE" ou 'LOCKS" n'est pas spécifié.

Les colonnes de ce message sont :

·        NAME - Les noms des TABLESPACES et/ou INDEX SPACES dans la DATABASE.

·        TYPE - "TS' pour les TABLESPACES et "IX' pour les INDEX SPACE.

·        STATUS - Statut courant du TABLESPACE et/ou des INDEX SPACE. Il peut avoir une des valeurs suivantes :

o       RW - Accès en Read/Write permis.

o       RO - Accès en Read Only permis.

o       STOP - Le space est à l'arrêt.

o       UT - Accès d'un Utilitaire seul est permis.

·        PHYERRLO - Une valeur hexadécimale indiquant le plus petit numéro de page sur laquelle une 'error range' a été détectée par DB2.

·        PHYERRHI - Une valeur en hexadécimal indiquant le plus grand numéro de page sur laquelle une 'error range' a été détectée par DB2.

·        CATALOG - Nom du Catalogue ICF où les fichiers VSAM qui ont une "error range' sont catalogués. A blanc si il n'y a pas d'error range détectée.

·        PIECE - Si les fichiers VSAM sur lesquels il y a une error range sont associés à une TABLESPACE ou INDEX SPACE partitionné, cette colonne sera égale au numéro de la partition, plus un.

Display d'informations sur le locking

Ceci est le format du message lorsque vous faites un display de type LOCKS.

Les nouvelles colonnes ajoutées sont :

·        CONNID - identification de la connexion DB2. Soit :

o       BATCH - la connexion vient d'une région batch.

o       TSO - la connexion vient d'une session online TSO.

o       IMS ou CICS.

·        CORRID - identification du user dont l'identifieur a été passé à DB2 lors de l'attachement.

·        LOCINFO - constitué de quatre parties :OWNER(TYPE,UNIT,DURATION [or QUEUE POSITION])

o       OWNER - soit 'H' (HELD) ou 'W' (WAITING).

o       TYPE - un des types de LOCK valides pour un TABLESPACE (IS, IX, SIX, S, X).

o       UNIT - toujours à 'S' (signifie TABLE ou INDEX SPACE).

o       DURATION - si OWNER est égal à 'H', indique quand le Lock sera libéré (release), 'D' deallocation, ou 'C' commit.

o       QUEUE POSITION - si le OWNER est égal à 'W', indique la position dans la Lock Queue.

Display Thread

Abréviation : -DIS THD

Ce DISPLAY permet de visualiser l'état des connexions avec DB2 à un instant T.

2 types de DISPLAY THREAD sont possibles :

·        Type (ACTIVE) qui est l'option par défaut qui permet de visualiser les THREADS actif à un instant T.

·        Type (INDOUBT) permet de visualiser uniquement les THREADS qui sont dans un état inconsistant.

·        Type (*) permet de visualiser l'ensemble des THREADS même ceux qui ne sont pas actifs à cet instant mais qui sont définis (c'est le cas des THREADS associés à CICS et IMS).

Il fait apparaître diverses notions :

·        Name : le nom de connexion égal au USERID TSO si THREAD TSO, égal au nom du CICS ou de l'IMS.

·        ST : le Statut du THREAD

o       'N' signifie en cours de signature

o       'T' THREAD établi

·        A : '*' si le THREAD est actif sinon à blanc.

·        PNAME : nom du plan utilisé

·        AUTHID : l'AUTHID de la personne signée.

Il est également possible de visualiser l'état des connections sur un site distant en précisant, soit le paramètre LOCATION, soit le LUWID.

Archive Log

La commande -ARCHIVE LOG permet de déclencher manuellement l'archivage :

·        Au changement d'équipe à l'exploitation.

·        Suite à un incident pendant l'archivage automatique.

·        Pour pouvoir accéder à la LOG Active.

Les Paramètres :

·        MODE (QUIESCE) - L'archivage est déclenché après que toute activité de mise à jour est atteint un point de synchronisation (COMMIT).

·        TIME (nnn) de 1 à 999 secondes pour spécifier le temps d'attente maximum afin que le QUIESCT s'exécute (pas d'archivage si dépassé).

·        WAIT (no) l'opération d'archive démarre et le contrôle est rendu à l'opérateur qui peut passer d'autres commandes.

·        WAIT (yes) idem, mais ces commandes seront en attente d'exécution jusqu'à la fin de l'archivage.

 

Contrôle des attachements

Présentation générale IMS et CICS :

Le contrôle des attachements par l'intermédiaire de commandes spécifiques permet de démarrer ou d'arrêter manuellement la communication entre, soit IMS et DB2, soit CICS et DB2.

L'attachement TSO :

Il est implicite avec DB2I (car il fait appel à des CLIST DSNU ou DSNH). Il peut être explicite en lançant la commande DSN SYSTEM (DB2ID).

Exemple de scénario :

DB2 est arrêté brutalement en cours de journée alors que le moniteur TP continue à fonctionner. Il est donc nécessaire après redémarrage de DB2 de rétablir manuellement la connexion.

  

Qui peut executer les utilitaires DB2 ?

Les Utilitaires s'exécutant en batch il est important que vous soyez proprement identifié par DB2 pour pouvoir les exécuter.

Le paramètre de JCL de signature est le paramètre USER :

//USERIDX JOB ......
//          USER=userid ...

 

Les IBM® Services Aids

IBM® fournit 4 Utilitaires MVS® séparés qui prennent en compte DB2 et qui, par conséquent, peuvent effectuer diverses fonctions sur les TABLES. Ces 4 Utilitaires sont :

·        DSN1COPY : peut être utilisé pour manipuler les fichiers VSAM LDS supportant les Tablespaces DB2 et :

o       Créer une copie de back-up.

o       Déclencher une édition pour toutes, ou une série de pages DB2.

o       Vérifier la validité de toutes les Pages (validity check).

o       Traduire les ID des objets DB2.

·        DSN1PRNT : permet d'éditer des Pages d'un Tablespace ou d'un Index Space de plusieurs manières :

o       Toutes les Pages ou une série de Pages.

o       Seulement les Pages qui contiennent une valeur spécifique.

o       Edition dump hexadécimal ou formaté.

·        DSN1LOGP : peut éditer un rapport détaillé ou résumé des enregistrements de la Log DB2, qui sont utiles en cas de restauration de database.

·        DSN1CHKR : analyse un tablespace au niveau de la cohérence : liens détruits, chaînages coupés, enregistrements isolés. Il peut aussi s'appliquer aux tablespaces de la Directory et du Catalogue DB2.

    

Déroulement général des utilitaires

Les fonctions réalisées par l'utilitaire se découpent en phases, indiquant la progression de l'Utilitaires. Certains Utilitaires peuvent être relancés au début de la dernière phase.

Il y a 2 phases qui sont communes à tous les utilitaires :

1.   UTILINIT : initialisation de l'utilitaire.

2.   UTILTERM : épuration de l'utilitaire.

Dès que l'Utilitaire commence à s'exécuter, une ligne est ajoutée à la table SYSIBM.SYSUTIL de la Directory. La ligne reste dans la table jusqu'à ce que :

·        l'utilitaire se termine normalement (Phase UTILTERM).

·        la fonction TERMINATE, ou la commande -TERM UTILITY soit exécutée sur l'Utilitaire.

 

La table SYSIBM.SYSUTIL de la directory

L'utilité de cette ligne dans la TABLE SYSUTIL est double :

·        Elle évite que d'autres utilitaires ne s'exécutent en même temps sur le même objet DB2,

·        Elle est mise à jour aux points de COMMIT et de STOP, fournissant donc des informations si l'utilitaire doit être relancé.

Cette Table étant une Table de la Directory et non une table du Catalogue, on ne peut y faire référence par SQL.

Pour interroger la table SYSUTIL, on doit utiliser la fonction Utilitaire DISPLAY, ou la commande -DISPLAY UTILITY.

Pour supprimer une ligne, on doit utiliser la fonction utilitaire TERMINATE, ou la commande -TERM UTILITY.

 

 

Supervision et contrôle des utilitaires

Il y a 2 fonctions possibles pour les Utilitaires DB2 :

1.   DISPLAY,

2.   TERMINATE.

L'information Display est utile dans la détermination du paramètre RESTART.

DISPLAY :

La fonction DISPLAY, ou la commande -DISPLAY UTILITY, donnent l'état courant des Utilitaires.

-DISPLAY UTILITY

Un utilitaire DB2 peut être dans un des états suivants :

·        Active : l'Utilitaire est en cours.

·        Stopped : l'Utilitaire est à l'arrêt, mais les données qui ont changé sont indisponibles.

·        Terminating : la terminaison de l'Utilitaire a été demandée, soit par la fonction TERMINATE, soit par la commande -TERM UTILITY.

 

Restart des utilitaires

Un Utilitaire qui est dans en état stoppé peut-être relancé en utilisant le paramètre RESTART.

Il y a 2 possibilités de redémarrage pour le RESTART :

1.   PHASE : RESTART au début de la dernière phase qui a été exécutée.

2.   CURRENT : RESTART au dernier point de Commit interne. Le point de Commit est mémorisé dans la table SYSUTIL.

Quelques utilitaires, lors d'un restart, redémarrent en fait à la phase UTILINIT. Ces utilitaires sont CHECK, RECOVER INDEX, et REPAIR.

Les autres utilitaires ou phases d'utilitaires, selon le paramètre RESTART spécifié, font toujours un restart phase.

Ceci inclut les phases SORT et BUILD des utilitaires LOAD et REORG, ainsi que les utilitaires MODIFY, QUIESCE, RUNSTATS, et STOSPACE.

    

Terminate

La fonction TERMINATE, ou la commande -TERM UTILITY, supprime les lignes créées dans la table SYSUTIL de la Directory.

Pour la plupart des utilitaires terminés de cette manière, l'objet DB2 de l'utilitaire est alors accessible. Pour quelques utilitaires, tels que COPY, LOAD, RECOVER, et REORG, des étapes supplémentaires peuvent être nécessaires avant que l'objet ne soit disponible.

Parfois, il est plus intéressant de faire une commande CANCEL opérateur sur un job d'Utilitaire en cours d'exécution, plutôt que de le terminer, car l'utilitaire restera 'DB2 RESTARTABLE, étant donné qu'une ligne existe toujours dans la table SYSUTIL.