Lors de la configuration du serveur TCP/IP DRDA DB2 Universal Database pour AS/400, il faut vérifier avant toute chose que le serveur a bien été démarré. La commande CL permettant de lancer le serveur DRDA (également appelé serveur DDM) est la suivante :
STRTCPSVR SERVER(*DDM)
Le serveur DRDA peut également être lancé à l'aide de la commande TCP/IP Server (STRTCPSVR) utilisée seule ou avec la valeur *ALL affectée au paramètre SERVER. Le serveur DRDA démarrera automatiquement lors du lancement de TCP/IP si la commande CL suivante a été émise :
CHGDDMTCPA AUTOSTART(*YES)
La commande CL suivante permet de vérifier que le démarrage du serveur a abouti :
WRKUSRJOB USER(QUSER) STATUS(*ACTIVE)
Cette commande affiche une liste de travaux. Si vous la faites défiler d'environ une page, vous verrez apparaître deux lignes contenant les informations suivantes :
__ QRWTLSTN QUSER BATCH ACTIVE
__ QRWTSRVR QUSER PJ ACTIVE
(Il peut y avoir plusieurs occurrences de la ligne QRWTSRVR, selon le nombre de travaux de prédémarrage du serveur PRESTART actifs.)
Si la ligne QRWTLSTN s'affiche, cela signifie que le travail à l'écoute des demandes de connexions DRDA et DDM est actif. Ce travail répartit l'activité entre les travaux QRWTSRVR à mesure de la réception des demandes de connexion.
L'autre mode de vérification du démarrage du serveur DRDA consiste à émettre la commande STRTCPSVR SERVER(*DDM) et à rechercher le message 'DDM TCP/IP server already active' dans le résultat obtenu.
Le nom du travail de pré-démarrage utilisé pour une connexion particulière peut être obtenu en lançant une commande DSPLOG semblable à la suivante :
DSPLOG PERIOD(('15:55'))
où l'heure indiquée est antérieure à celle de l'établissement de la connexion. Vous obtenez ainsi une liste des entrées de l'historique, que vous pouvez faire défiler. Recherchez une entrée semblable à la suivante, qui contiendra le nom du travail serveur :
DDM job 039554/QUSER/QRWTSRVR servicing user SRR on 03/30/98 at 15:57:38.
Ce nom de travail est utile pour consulter le journal associé aux travaux actifs. Il permet également de démarrer une activité de surveillance sur des travaux encore actifs à des fins d'identification d'incident ou de visualisation des messages provenant de l'optimiseur de requêtes. Voici un exemple de commande CL permettant de lancer une activité de surveillance en utilisant les informations mentionnées précédemment :
STRSRVJOB 039554/QUSER/QRWTSRVR
Pour faire passer le travail faisant l'objet de la surveillance en mode débogage, exécutez la commande STRDBG :
STRDBG UPDPROD(*YES)
Dans certaines circonstances, le serveur DRDA sauvegarde l'historique des travaux de pré-démarrage avant de recycler le travail et d'effacer le journal. Cela se produit lorsqu'une panne grave est détectée ou que le travail a pris fin pendant l'exécution du service (via la commande STRSRVJOB).
Pour trouver l'historique des travaux sauvegardé à l'issue du travail, lancez la commande suivante :
WRKJOB id-utilisateur/QPRTJOB
où id-utilisateur est l'ID utilisateur qui a permis d'établir la connexion (SRR dans l'exemple ci-dessus).
Vous obtenez ainsi une liste de travaux à partir de laquelle il est possible d'en sélectionner un, ou une option de menu associée à un travail unique. Sélectionnez l'option 4, 'Work with spooled files' pour rechercher l'historique des travaux sauvegardé. Il s'agit du fichier QPJOBLOG lorsqu'il existe plusieurs fichiers placés en file d'attente. L'option 5 permet d'afficher le fichier historique des travaux.
Exemple de messages émanant de l'optimiseur de requêtes susceptibles d'apparaître dans l'historique des travaux d'un serveur, lorsqu'un travail a été exécuté en mode débogage :
CPI4329 Information 00 03/30/98 16:14:57 QQQIMPLE QSYS 3911 QSQOPEN QSYS 09C4 Message . . . . : Arrival sequence access was used for file TBL2. Cause . . . . . : Arrival sequence access was used to select records from member TBL2 of file TBL2 in library SR. If file TBL2 in library SR is a logical file then member TBL2 of physical file TBL2 in library SR is the actual file from which records are being selected. A file name of *N for the file indicates it is a temporary file. Recovery . . . : The use of an access path may improve the performance of the query if record selection is specified. If an access path does not exist, you may want to create one whose left-most key fields match fields in the record selection. Matching more key fields in the access path with fields in the record selection will result in improved performance. Generally, to force the use of an existing access path, specify order by fields that match the left-most key fields of that access path. For more information refer to the DB2 for AS/400 SQL Programming book.