V5R40, Nouveautés système La gestion des travaux actifs montre l'utilisateur en cours (particulièrement pour les travaux de serveur, ici ODBC/JDBC) Gestion des travaux actifs AS400 18/04/06 12:26 % UC: 21,4 Intervalle: 00:01:39 Travaux actifs: 353 Indiquez vos options, puis appuyez sur ENTREE. 9=Exclure 10=Liste d'appel programmes 11=Gérer verrouillages 12=Gérer unités d'exécution 14=Gérer exclusions mutuelles ... Util en Opt S-syst/trav cours Type % UC Fonction Etat QZSOSGND QUSER BCH 0,0 SELW Q1PSCH QPM400 BCH 0,0 DLY-60 DLYW QUSRWRK QSYS SBS 0,0 DEQW QZDASOINIT FORMATION1 PJ 0,0 TIMW QZDASOINIT QUSER PJ 0,0 TIMW QZDASOINIT FORMATION2 PJ 0,0 TIMW .. |
En ce qui concerne la gestion des performances, la documentation a enfin été réactualisée pour la V5R40 : " Systems management Performance." Elle fourni particulièrement une base de travail en ce qui concerne les tailles mémoire et la pagination des pools, qui avec la puissance des processeurs actuels a été revue. la nouvelle base de calcul est la suivante : - sur WRKSYSSTS, faites la somme de la pagination BD et non/BD pour chaque pool utilisateur (autre que le pool machine) - regardez l'UC consommée (en haut à gauche) et faites le calcul suivant: c*p, ou c est le pourcentage de CPU utilisé p est le nombre de processeurs de la partition par exemple si vous avez une partition avec 1,8 processeur, utilisée à 80% = 144 si vous n'avez qu'un processeur utilisé à 60 % = 60 Aucun pool ne devrait avoir une pagination dépassant ce résultat. |
Gestion d'un travail Système: AS400 Travail: QJVACMDSRV Utilisateur: QIBMHELP Numéro: 167119 Choisissez l'une des options suivantes : ............................ : L'affichage de la liste : 1. Etat du travail : d'appel des programme : 2. Attributs de définition : affiche de nouvelles : 3. Attributs d'exécution, si actif : informations : 4. Gestion des fichiers spoule :..........................: 10. Historique du travail, si actif, en file d'attente ou en instance -> 11. Liste d'appel des programmes, si actif 12. Gestion des verrouillages, si actif 13. Liste des bibliothèques, si actif 14. Fichiers ouverts, si actif 15. Substitutions de fichiers, si actif 16. Etat du contrôle de validation, si actif Option ou commande ===> 11 F3=Exit F4=Invite F9=Rappel F12=Annuler |
Liste d'appel Système: AS400 Travail: QJVACMDSRV Util: QIBMHELP Numéro: 167119 Unité exéc: 00000001 Type Programme Instruction Procédure QP0ZPCP2 QSYS _CXX_PEP__Fv QP0ZPCPN QSYS 266 Qp0zNewProcess QP0ZPCPN QSYS 210 InvokeTargetPgm__FP11qp0z_p > QJVACMDSRV QSYS _CXX_PEP__Fv QJVACMDSRV QSYS 13 main QJVAJVM QSYS 215 RunJava QJVAJVM QSYS 2 CallStaticVoidMethod__7JNIE > QJVAJNICLS QSYS 1 CallStaticVoidMethodV__FP7J > J org/eclipse/core/laun > 000012C2 main J org/eclipse/core/laun > 000011E6 main J org/eclipse/core/laun > 0000110A run J org/eclipse/core/laun > 00001030 basicRun J java/lang/reflect/Met > 00000F26 invoke # A suivre... F3=Exit F5=Réafficher F11=Groupe d'activation F12=Annuler F16=Menu travail F17=Début F18=Fin F21=Inclure F22=Zone entière |
Liste d'appel Système: AS400 Travail: QTOBDDNS Util: QTCP Numéro: 167112 Unité exéc: 00000001 Type Programme Instruction Procédure 1 QCMD QSYS /01C7 QTOBDNS8 QDNS _CXX_PEP__Fv QTOBDNS8 QDNS 14 main QP2USER QSYS 4 Qp2RunPase QP2USER2 QSYS 7 __Qp2RunPase QP2USER2 QSYS 6 runpase_main__FPi QP2USER2 QSYS 2 runpase_common__FiPvT2 P NAMED8 0000008C __start P NAMED8 00000A38 main P NAMED8 000002F0 __evGetNext P NAMED8 00000110 pselect P+ P libc.a(shr.o) 0000009C select # A suivre... F3=Exit F5=Réafficher F11=Groupe d'activation F12=Annuler F16=Menu travail F17=Début F18=Fin F21=Inclure F22=Zone entière |
La colonne TYPE pouvant prendre les valeurs suivantes : Blanc : programme (OPM ou ILE) n'ayant pas pris un niveau de commande 1/999 : programme ayant pris un niveau de commande un programme ayant pris un niveau de commande est un pgm dialoguant avec l'External (*EXT) dans la PGMQ, il intercepte les annulations (App/SYS 2 ou ENDRQS) V5R40 ------- P : Code utilisateur PASE i5/OS. P+ : Code utilisateur PASE i5/OS, dans lequel le point de reprise exact est incertain. Il peut y avoir jusqu'à deux lignes pour une entrée de la liste d'appel. L : Microcode sous licence. K : Code de noyau PASE i5/OS (Kernel). K+ : Code de noyau PASE i5/OS, dans lequel le point de reprise exact est incertain. Il peut y avoir jusqu'à deux lignes pour une entrée de la liste d'appel. J : Code Java. |
La nouvelle commande DSPJVMJOB, affiche les travaux utilisant Java : Travaux JVM AS400 08/08/06 09:05 Travaux JVM: 10 Autoriser nouvelle machine JVM: Oui Utilisateur en Travail Utilisateur Numéro Type cours Etat Sous-système ADMIN QEJBSVR 176237 BCH QEJBSVR JVAW QWAS6 SERVER1 QEJBSVR 176333 BCH QEJBSVR JVAW QWAS6 INTERNET QTMHHTTP 252518 BCI QTMHHTTP SIGW QHTTPSVR QYPSJSVR QYPSJSVR 176249 BCH QYPSJSVR SIGW QSYSWRK ADMIN QTMHHTTP 176239 BCI QTMHHTTP SIGW QHTTPSVR QJVACMDSRV QUSER 239847 BCI CM JVAW QUSRWRK QJVACMDSRV QUSER 189710 BCI CM JVAW QUSRWRK IWATOMCAT QTMHHTTP 176467 BCH QTMHHTTP SIGW QSYSWRK INTRANET QTMHHTTP 176334 BCI QTMHHTTP SIGW QHTTPSVR QJVACMDSRV QIBMHELP 176241 BCI QIBMHELP JVAW QSYSWRK F3=Exit F5=Réafficher F11=Type de serveur F12=Annuler |
Nouvelles valeurs système : QALWJOBITP : autorise ou non un job a être interrompu - 0 les travaux ne peuvent pas etre interrompu - 1 les travaux ne peuvent pas être interrompu, ce paramètre peut être modifié pour un job, par l'API QWCCJITP - 2 les travaux peuvent être interrompu, ce paramètre peut être enlévé pour un job, par l'API QWCCJITP L'interruption d'un job se réalise par l'API QWCJBITP, en lui passant, entre autre, le format JITP0100, contenant : 1/ CHAR(10) Program name 2/ CHAR(10) Program library 3/ CHAR(10) Target job name 4/ CHAR(10) Target job user 5/ CHAR(6) Target job number 6/ CHAR(2) (reservé) 7/ BINARY(4) Offset vers les données transmises au pgm 8/ BINARY(4) Lg des données transmises 9/ CHAR(*) Données transmises 10/ CHAR(*) (reservé) |
Le programme appelé lors de l'interruption DOIT avoir été déclaré par la commande ADDEXITPGM (option 8 de WRKREGINF) pour le point d'exit QIBM_QWC_JOBITPPGM, format JITP0100. Il recoit lui même les paramètres 8 ET 9 (données transmises et lg) Les données transmise ne peuvent dépasser 2000 c. de long. Quand un job est interrompu de cette manière : 1/ un enregistrement J JS est écrit dans le journal d'AUDIT pour le travail source (celui qui demande l'interruption) 2/ un message CPD1690 est enregistré dans la lOG du job interrompu et un enregistrement de type K JS est "loggé" dans l'AUDIT système 3/ si le pgm se termine normalement un message CPD1691 est enregistré dans la LOG et un enregistrement L JS est noté dans l'AUDIT système 4/ si le pgm se termine de manière Anormale, un message est enregistré dans la lOG (CPF18CE) et aucun trace n'est laissée dans l'AUDIT. |
QLOGOUTPUT : indique qui doit produire la LOG (historique papier) pour un job serveur. *JOBEND, l'historique est produite par le travail en fin de JOB. *JOBLOGSVR l'historique est produite par un "serveur de JOBLOG" (travail QJOBLOGSVR dans QSYSWRK) la nouvelle commande WRKJOBLOG, permet de voir l'historique des travaux le paramètre JOBLOGSTT constitue le premire critère sur le status *PENDING : voir les travaux ayant l'historique en instance *SPOOLED : voir les travaux ayant l'historique en spool les paramètres PERIOD (date/heure de début et de fin) et JOB (choix sur le nom et/ou l'utilisateur) constituant les autres critères l'API QWTRMVJL permet de faire du ménage par programmation. |
Gestion des historiques de travail AS400 19/04/06 14:18 Indiquez vos options, puis appuyez sur ENTREE. 4=Supprimer 5=Afficher 8=Gérer fichiers spoule 12=Gérer travail Numéro Données Opt Date Heure Etat Travail Utilisat Numéro fich utilisat 12/04/06 08:48:20 *PND QZDASOINIT QUSER 168565 12/04/06 08:48:20 *PND QZDASOINIT QUSER 168567 12/04/06 08:48:20 *PND QZDASOINIT QUSER 168256 .../... L'option 4 propose de supprimer l'historique - Pour un travail en état *PND, l'API QWTRMVJL est utilisée - Pour un travail en état *SPL, la commande DLTSPLF est lancée L'option 5 permet de voir l'historique. - Pour un travail en état *PND, la commande DSPJOBLOG - Pour un travail en état *SPL, la commande DSPSPLF est lancée les options 8 (WRKSPLF) et 12 (WRKJOB) sont toujours les mêmes. |
Divers QJOBMSGQMX accepte une valeur comprise entre 2Mo (avant 8) et 64Mo QHSTLOGSIZ admet une valeur comprise entre 1 et 10.000.000 (avant 65535) et la nouvelle valeur *DAILY demandant un fichier historique par JOUR. la commande CHGIPLA possède un nouvel attribut SPLFRCY( ) indiquant ce qui doit être fait des spool, si la table des travaux est endommagée : *DETACH, les spools sont notés comme détachés (voir nouveautés V5R30) *REMOVE, les spools sont détruit. Les routines QSPPUTF et QSPGETF disparraissent (en fait QSPPUTF existe encore, mais pour cette version uniquement) Conversion du format interne des DTAQ et USRQ.Cela peut prendre du temps sur les DTAQ journalisées. |
la data area (QDFTJRN) de journalisation automatique à été modifiée : elle peux faire maintenant jusqu'à 1980c elle contient (à partir de 21) des couples de 20c, type/opération -type admet les valeurs : *FILE pour les fichiers (PF) *DTAARA " les data area *DTAQ " les dtaq *ALL " les 3 types précédents -opération " " : *CREATE journalisation lors de CRTPF *MOVE " lors de MOVOBJ *RESTORE " lors de RSTOBJ *ALLOPR pour les 3 opérations par exemple : 1 2 3 4 5 6 7 ....*....0....*....0....*....0....*....0....*....0....*....0....*....0....* BIBJRN MONJOURNAL *FILE *ALLOPR *DTAARA *CREATE journalisation des fichiers dans tous les cas,des DTAARA lors des créations |
Nouvelles commandes : CRTPRXCMD : création de commande proxy une commande proxy est un alias vers une commande réelle par exemple : CRTPRXCMD CMD(QGPL/WA) TGTCMD(WRKACTJOB) créé un alias WA (dans QGPL) à la commandce WRKACTJOB Vous ne pouvez pas restreindre ou modifier les paramètres. Demander l'invite, affiche l'invite de la commande cible vous pouvez faire un alias sur un alias (chaine limitée à 5) DLTEXPSPLF : suppression des spools périmés , suivant le contenu de l'un des paramètres EXPDATE( ) -> date d'expiration DAYS( ) -> nbr de jours avant expiration ces paramètres sont renseignables par CRT/CHG/OVRPRTF WRKJOBLOG : gestion des historiques des travaux (voir ci-dessus) les serveurs sont gérés par STRLOGSVR/ENDLOGSVR |
SAYSYSINF : sauvegarde d'un sous ensemble des informations système RSTSYSINF : restauration (voir le cours save/restore en V5R40) UPDPTFINF : reconstruit la base des PTF contenu en SAVF dans QGPL, suite à une restauration de cette dernière. WRKOBJPVT : Gestion des droits privés (nominatifs) d'un utilisateurs .......................................................................... : Gestion des objets par droits privés : : : : Profil utilisateur . . . . : QUSER : : : : Indiquez vos options, puis appuyez sur ENTREE. : : 2=Réviser les droits 4=Supprimer 5=Afficher les droits 7=Rebaptiser: : 8=Afficher la description : : Unité : : Opt Objet Biblio Type Attribut ASP : : QSVRCI QSR *PGM *SYSBAS : : QSVRCS QSR *PGM *SYSBAS : :........................................................................: |
CPYAUDJRNE : copie dans un fichier physique les traces d'audit du journal QAUDJRN.Cela créé un fichier par type de poste de journal. INSLNXSVR : installation d'un serveur Linux sur serveur xSeries intégré DLTLNXSVR CRTNWSCFG : installation d'un serveur xSeries Intégré connecté via iSCSI (Blade Center intégré) sous ensembles de RCLSTG : RCLOBJOWN : réalise une partie du travail de RCLSTG : vérifie (et répare) les liens objet/propriétaire.Système restreint obligatoire ! RCLDBXREF : récupération du système de références croisées du système (comme RCLSTG *DBXREF, mais avec une bibliothèque à la fois). N'impose PAS que le système soit à l'état restreint. RCLLNK : récupération des liens (IFS) d'un répertoire du système N'impose PAS que le système soit à l'état restreint. |
WRKTRC : Affiche la liste des traces actives - traces de communication - traces de travaux (STRTRC et TRCTCPAPP) - traces du microcode sous licences (TRCINT, STRSST, etc ...) - traces PEX (analyseur de performances) pour cette commande, l'ID fonction QIBM_SERVICE_TRACE gérée par les commandes CHGFCNUSG/WRKFCNUSG(V5R30) ou l'administration d'applications d'iSeries Navigator, permet de restreindre son utilisation. STRWCH ENDWCH : Gestion des "Watch" (espions) WRKWCH Un espion, est une demande réalisée auprès du système, de surveillance d'un évenement, avec association d'un programme à lancer quand ce dernier à lieu. Les evénements peuvent être : - arrivée d'un message dans une MSGQ (QSYSOPR, QHST, etc..) - message dans une JOBLOG (il faut indiquer le JOB) - une exception microcode (il faut indiquer le code erreur) |
le lancement d'un espion, peut être limité par la commande CHGFCNUSG, ID fonction QIBM_SERVICE_WATCH, le lancement d'un espion sur n'importe quel job par l'ID fonction QIBM_WATCH_ANY_JOB. le pgm invoqué, à CHAQUE évenement doit recevoir 4 paramètres : 1 Watch option setting Input Char(10) *MSGID ou *LICLOG 2 Session Id Input Char(10) le nom indiqué sur STRWCH 3 Error detected Output Char(10) *ERROR ou blanc 4 Event data Input Char(*) détails sur l'évenement. ce dernier est découpé comme suit, dans le cas d'un message : DE A Type explication 1 4 Binaire Lg des information recues 5 11 CHAR(7) Message ID 12 12 CHAR(1) réservé 13 22 CHAR(10) nom dela Message queue 23 32 CHAR(10) bibliothèque Message queue 33 42 CHAR(10) Job 43 52 CHAR(10) Utilisateur 53 58 CHAR(6) N° du job |
59 62 CHAR(4) réservé 63 318 CHAR(256) nom du pgm émetteur 319 328 CHAR(10) nom du module du pgm émetteur 329 332 BINARY(4) offset pour atteindre le nom de la procédure 333 336 BINARY(4) lg du le nom de la procédure du pgm émetteur 337 346 CHAR(10) nom du pgm ayant recu le message 347 356 CHAR(10) nom du module du pgm recepteur 357 360 BINARY(4) offset pour atteindre le nom de la procédure 361 364 BINARY(4) lg du le nom de la procédure du pgm récepteur 365 368 BINARY(4) gravité du message 369 378 CHAR(10) type de message 379 386 CHAR(8) timestamp du message 387 390 CHAR(4) clé du message 391 400 CHAR(10) nom du fichier message 401 410 CHAR(10) bibliothèque du fichier message 411 412 CHAR(2) réservé 413 416 BINARY(4) offset pour les données de comparaison de STRWCH 417 420 BINARY(4) lg des données de comparaison de STRWCH 421 430 CHAR(10) comparées à (*MSGDTA, *FROMPGM, *TOPGM) 431 432 CHAR(2) réservé 433 436 BINARY(4) CCSID des données de comparaison |
437 440 BINARY(4) position des données comparaison. 441 444 BINARY(4) offset pour les données de remplacement 445 448 BINARY(4) lg des données de remplacement 449 452 BINARY(4) CCSID des données de remplacement la position des élements suivants est fonction d'offsets indiqués plus haut ?? ?? CHAR(??) nom de la procédure émettrice ?? ?? CHAR(??) nom de la procédure réceptrice ?? ?? CHAR(??) données de comparaison ?? ?? CHAR(??) données de remplacement Pour un exemple de programme, voyez les nouveautés syntaxiques du CL en V5R4 enfin ces deux commandes ont été modifiées : WRKSPLF, le paramètre SELECT peut filtrer sur les références utilisateur CPYFRMIMPF/CPYTOIMPF possèdent un nouveau paramètre STRESCCHR indiquant le caractère d'échappement permettant d'accepter le caractère de délimita- tion de chaîne en tant que caractère significatif présent dans les données |
par exemple, si votre délimiteur est ", la chaîne suivante "essayons d'insérer un texte entre "guillement", pour voir" est ambigue avec STRESCCHR('\'), saisissez "essayons d'insérer un texte entre \"guillement\", pour voir" avec STRESCCHR(*STRDLM), il faut doubler le caractère, soit "essayons d'insérer un texte entre ""guillement"", pour voir" Outils de développement CHGPDMDFT permet de modifer les paramètres PDM (comme F18) , mais en mode commande et éventuellement pour un autre utilisateur. il faut avoir des droits sur ce dernier. par exemple CHGPDMDFT USER(QPGMR) CRTBCH(*YES) (création par lot) et enfin SEU vérifie la syntaxe du RPG4 en format libre (/free /end-free) |
QNTC la variable d'environnement QZLC_SERVERLIST fixée à '1' permet de ne pas tester la présence, ni le niveau de version du protocole SMB des serveur le fonctionnement de QNTC en V5R4 est par défaut comme QZLC_SERVERLIST à 1 cette même version propose une autre variable d'environnement (ADDENVVAR) QIBM_ZLC_NO_BROWSE, qui fixée à '1' demande à QNTC de ne plus retrouver la liste des serveurs disponibles. Seuls les serveurs enregistrés par une commande MKDIR, seront visibles. Dernier point (toujours V5R4), QNTC utilise cifs et non plus netbios : - le port 445 est utilisé à la place des port 137 à 139, si possible . - les noms IP (DNS/Host) sont utilisés à la place des noms Netbios. - cifs permet la connexion à des serveurs imposant une signature digitale (avec Kerberos) - la taille maxi des transferts passe de 4 Go à 1 To. |