MQSeries FAQ

Update: 6 Aout 2006
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2004-2006 Jean-Louis BICQUELET-SALAÜN


Pour plus d’information au sujet de cette faq, contactez Jean-Louis BICQUELET


FAQ Revised: Wednesday 30 August 2006 13:16:3

Table of Contents

1. concepts
2. installation
3. gestionnaire
4. serveur de commandes
5. queue
6. transactions
7. utilisation
8. licence
9. log

1. concepts

1.1. Quels sont les objets MQSERIES ?
  1. Gestionnaire de files d’attente (Queue Manager)
  2. File d’attente (Queue)
  3. Processus (triggering)
  4. Canaux
  5. Liste des noms (liste de diffusion)
  6. Storage classe (MVS/ESA)

Ces objets possèdent des propriétés ou attributs qui indiquent la façon dont MQSeries doit traiter ces entités.

1.2. Quels sont les types de files d’attente ?
  • QLOCAL
  • QREMOTE
  • QALIAS
  • QMODEL
    • QDYNTEMP
    • QDYMPERM
1.3. Comment nomme-t-on les objets MQSERIES ?
Le nom MQSERIES est unique.

Les caractères autorisés sont A-Z a-Z 0-9 . / _ %.

Les noms sont case sensitive.

Les noms de gestionnaire, file et procesus font 48 caractères maximum, sauf sous MVS où le gestionnaire fait 4 caractères.

Le nom des canaux est limité à 20.

1.4. Qu’est ce qu’un message ?

C’est un ensemble de données constitué par un en-tête et des données envoyé par un programme à un autre programme.

L’entête contient des informations techniques comme le type de caractère, une réponse obligatoire à un message ou à une série de message, la file d’attente de destination …

Elle correspond à une structure MQMD (MQ Message Descriptor).

Il n’y a pas de limite sur le contenu des données (à l’exception de certaines plateformes).


2. installation

2.1. Comment installe-t-on MQSERIES?

En fonction des système il faut utiliser:

AIX smitty ou installp
HP-UX swinstall ou update
Solaris sysadm ou pkgadd
windows setup
2.2. Où est installé MQSERIES?


/var/mqm gestionnaire et files
/var/mqm/log logs des gestionnaires
/usr/lpp/mqm code MQSERIES AIX
/opt/mqm code MQSERIES HP-UX ou Sun Solaris
2.3. Comment passer des commandes MQSERIES?

MQSeries crée un user mqm de groupe mqm. C’est cet utilisateur qu’il faut utiliser pour lancer les commandes MQSeries.


3. gestionnaire

3.1. Comment créer un gestionnaire de queue?

crtmqm -c “test2” -t 10000 -u DLQ.TEST2 -q avril.t1 WebSphere MQ queue manager created. Creating or replacing default objects for avril.t1. Default objects statistics : 31 created. 0 replaced. 0 failed. Completing setup. Setup completed.

Pensez à préciser une file de rebut.

SYSTEM.DEAD.LETTER.QUEUE est créée automatiquement.

3.2. Quels sont les options de création d’un gestionnaire ?


-c description du gestionnaire
-d file de transmission par défaut
-h nombre maximal de connexions
-q gestionnaire par défaut
-t intervalle pour le déclenchement automatique
-u file de rebut systeme
-x nombre maximal de messages non commités
-z suppression des messages d’erreur
-lc journalisation circulaire
-ll journalisation linéaire
-ld répertoire pour les fichiers journaaux
-lp nombre des fichiers journaux primaires
-ls nombre des fichiers journaux secondaires

Si le paramètre de journalisation est omis, la journalisation est définie dans le fichier mqs.ini. Sinon la journalisation est circulaire.

3.3. Comment démarrer un gestionnaire ?

strmqm mars.t1

En option: -z suppresion des messages d’erreur

3.4. Quels sont les processus démarrés immédiatement ?

3.5. Où se trouve le fichier de configuration du gestionnaire?
Dans /var/mqm/qmgrs/[gestionnire]. Son nom est qm.ini.

3.6. Comment arrêter un gestionnaire proprement?

$ endmqm mars.t1

options


-c arrêt contrôlé progressif (par défaut)
-w arrêt contrôlé synchrone
-i arrêt immédiat
-p arrêt forcé (pre-emptive), non controlé


  • Arrêt normal: le gestionnaire s’arrête quand toutes les applications sont arrêtées. Aucune connexion n’est autorisée.
  • Arrêt immédiat: l’arrêt a lieu dès la fin de tous les ordres en cours. Toutes les autres opérations sont annulées.
  • Arrêt forcé: pas d’attente, il peut y avoir des résultats imprévisibles.

3.7. Comment arrêter un gestionnaire manuellement?

$ ps-ef| grep mqm
kill-9
de chaque process dans l’ordre:

amqhasmx gestion du journal
amqharmx programme de formatage journal (journeaux de type LINEAR uniquement)
amqzllp0 processus de point contrôle
amqzlaa0 agents du gestionnaire de files d’attente
amqzxma0 contrôleur de traitement

3.8. Comment supprimer un gestionnaire?

$dlmtmqm mars.t1

En option: -z suppresion des messages d’erreur

Le gestionnaire est arrêté, mais ATTENTION on perd les données

3.9. Comment supprimer manuellement un gestionnaire?
  • supprimer les répertoires
  • modifier le fichier mqs.ini


4. serveur de commandes

4.1. Comment démarrer le serveur de commandes?

$ strmqcsv mars.t1 WebSphere MQ command server started.

4.2. Comment afficher l’état du serveur de commandes?
$strmqcsv

$ dspmqcsv mars.t1

4.3. Quels sont les états du serveur de commandes?
Starting en cours de démarrage
Running en cours d’execution
Running with SYSTEM.ADMIN.COMMAND.QUEUE
Ending en cours d’arrêt
Stopped serveur arrêté

4.4. Comment arrêter le serveur de commandes?

$endmqmcsv mars.t1

Le serveur peut être arrêté de la manière suivante:

  • -c arrêt controlé (par défaut)
  • -i arrêt immédiat


5. queue

5.1. Comment afficher toutes les files locales?

DISPLAY QLOCAL(*)

5.2. Comment créer une queue locale?

DEFINE QLOCAL(mars.ql1)

5.3. Comment afficher les attributs d’une queue locale?

DISPLAY QLOCAL(mars.ql1)

5.4. Comment modifier des attributs d’une queue locale?

5 : def ql(mars.ql1) replace + descr(‘mon test’)

5.5. Comment comment afficher le status d’une queue locale?

11 : display qstatus(mars.ql1)

5.6. Quels sont les parametres d’une queue locale?

def ql

DEFPRTY priorité des messages
DEFPSIST persistance de messages
DESCR description des messages
PUT autorisation d’écriture
GET autorisation de lecture
DISTL distribution de la liste supportée ou non
MAXDEPTH nombre maximum de messages dans la file
MAXMSGL longueur maximum des messages dans la file
MSGDLVSQ règle de lecture des messages
NOHARDENBO | HARDENBO sauvegarde du compteur backout en cas d’arrêt du gestionnaire
NOSHARE | SHARE lecture partagée des messages
USAGE indique si la file est à usage normale ou si c’est une file de transmission (XMTIQ<)
BOQNAME nom de la file où le message est stocké après dépassement du compteur BOTHRESH
BOTHRESH nombre de lectures possibles avec backout
DEFSOPT option par défaut d’ouverture de file

5.7. Comment définir une file alias?

def qalias(mars.qa1) targq(mars.ql1)

5.8. Comment afficher les files alias?

display qalias(*)

5.9. Quels sont les attributs d’un file alias?

display qalias(mars.qa1)

5.10. Comment définir une file modèle?

define qmodel(mars.qm1) deftype(PERMDYN)

type possible :

  • PERMDYN
  • TEMPDYN (valeur par défaut) une file dynamique temporaire est créée. Cette file n’accepte pas les messages persistants et est automatiquement détruite lors de MQCLOSE. PERMDYN une file dynamique permanente est créee et n’est détruite que si un programme demande volontairement sa destruction.

5.11. Comment définir une file modèle?

define qmodel(mars.qm) deftype(PERMDYN)

5.12. Comment définir une file par copie “LIKE” ?

def qlocal(mars.ql1) like (mars.like)

5.13. Comment modifier les attributs d’une file ?


  • ALTER QLOCAL(mars.ql1)
  • ALTER ALIAS(mars.qa1)
  • ALTER MODEL(mars.qm1)

exemple:

5.14. Comment supprimer une file ?


  • DELETE QLOCAL(mars.ql1)
  • DELETE ALIAS(mars.qa1)
  • DELETE MODEL(mars.qm1)

Une file ne peut être supprimée si elle contient des messages non commités.

exemple:

5.15. Comment supprimer une file qui contient des messages ?

DELETE QLOCAL(mars.ql1) PURGE

5.16. Comment vider une file ?

CLEAR QLOCAL(mars.ql1)

Attention la commande échoue si la file contient des messages non commités, ou si la file est ouverte par une application (quelles que soient les options d’ouverture).


6. transactions

6.1. Comment afficher les transactions ?

$ dspmqtrn

6.2. Comment résoudre les problèmes liés aux transactions douteuses?

$ dspmqtrn [option] -m mars.t1 transaction option peut être:

  1. -c commit de la transaction
  2. -b backout de la transaction

7. utilisation

7.1. Comment lancer un interpréteur de commande?

runmqsc mars.t1

ou runmqsc mars.t1 -q nomfichier

La sortie se fait par la commande END.

On peut lancer un flot de commande avec < fichier


8. licence

8.1. Comment enregistrer la licence ?
setmqprd

8.2. Comment obtenir une période d’essai?
setmqtry


9. log

9.1. Comment obtenir l’image formatée des logs?

$ dmpmqlog

Si le nom n’est pas spécifié, le gestionnaire par défaut est utilisé.

9.2. Où se trouve les logs?

Dans le répertoire Errors. Le fichier log qui contient les dernières informations est AMQERR1.LOG

Author: stratus

Laisser un commentaire