https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-12-04 20:10:212022-04-12 10:02:39Afficher un panel de groupe
https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-11-28 11:17:412022-04-12 10:04:19Réplication de mot de passe
Les produits open-source sur IBM i sont gérés par un gestionnaire de paquet qui s’appelle yum :
Sur ACS il est possible de gérer ces produits en sélectionnant l’option Gestion de modules open source depuis le menu Outils :
Cette interface a ses limites et ne permet pas d’automatiser la recherche et l’installation des mises à jour de vos produits open-source.
Voilà le but de GOPEN, qui est disponible ici sur Github.
GOPEN fournit une interface en 5250 pour gérer les mises à jour des produits open-source.
Après paramétrage d’une adresse email pour recevoir toutes les notifications de GOPEN vous pourrez commencer par ajouter des produits open-source à surveiller. Lorsque des mises à jour seront disponibles pour un ou plusieurs des produits surveillés vous recevrez un email résumant tous les produits à mettre à jour en pièce jointe (fichier CSV).
Note : Les produits à surveiller n’ont pas besoin d’être le nom complet du produit, par exemple pour surveiller les mises à jour des produits NodeJS qui a un produit par release (nodejs12 et nodejs14) vous pouvez simplement surveiller nodejs. Toutes les versions installées de NodeJS qui pourront être mises à jour seront incluses.
Pour effectuer ces mises à jour il ne reste qu’à retourner sur l’interface 5250 et choisir l’option qui vous convient pour effectuer les mises à jour disponibles.
Il y a une option pour effectuer toutes les mises à jour disponibles parmi les produits surveillés, vous pouvez également choisir quels produits mettre à jour parmi ceux qui peuvent l’être pour un contrôle plus fin.
Il est possible aussi de demander la mise à jour de produits en mode batch, ou de procéder à toutes les mises à jour disponibles pour tous les produits (y compris ceux qui ne sont pas surveillés).
Dans tous les cas lorsque des mises à jour sont effectuées avec GOPEN vous recevrez un email résumant tous les changements apportés (cela permet de savoir lorsque des dépendances sont mises à jour en même temps que les produits eux-mêmes).
Pour automatiser la recherche de mises à jour et leur application, vous pouvez planifier des tâches depuis le 5250 à la fréquence qui vous convient avec la commande wrkjobscde :
La commande RTVLSTUPD fait la recherche des mises à jour et envoie un email résumant les mises à jour disponibles parmi les produits surveillés. Il est possible de lui donner le paramètre silent avec la valeur de '1' pour ne pas envoyer d’email suite à la recherche.
La commande UPDPKG fait les mises à jour qu’on lui demande. Elle accepte différents paramètres :
*ALL pour effectuer toutes les mises à jour disponibles (y compris des produits qui ne sont pas surveillés)
*LSTPKG pour effectuer les mises à jour disponibles des produits surveillés
Le nom du produit directement. N’importe quel autre paramètre sera utilisé comme nom de produit et donné à la commande de yum update
Pour résumer, GOPEN vous permet de gérer les mises à jour de vos produits open-source à partir d’une interface familière en 5250 et également d’automatiser ce processus.
Grâce à sa flexibilité il est possible de tout automatiser (recherche et application des mises à jour) à la fréquence de votre choix, ou de laisser certaines actions manuelles (recherche de mises à jour automatique, mais application manuelle).
Commande UPDPKG pour effectuer les mises à jour
Menu de sélection des mises à jour à effectuer
Liste des produits à surveiller
Menu de paramétrage
Captures d’écrans de l’interface de GOPEN dans différents menus
L’open-source est un passage obligatoire pour vos orientations futures et GOPEN vous fournit une solution pour faciliter l’apprentissage de ces nouvelles approches.
https://www.gaia.fr/wp-content/uploads/2021/11/GOpen.png8861662admin/wp-content/uploads/2017/05/logogaia.pngadmin2021-11-24 16:39:362021-11-24 16:39:37Mise à jour de produits open-source depuis l’interface 5250
On a vu comment générer une structure d’aide à partir d’une commande, comment générer un menu en UIM, cette troisième partie vous fournira un outil (CVTMNUUIM) pour migrer un menu SDA classique en UIM. il est disponible ici https://github.com/Plberthoin/PLB/tree/master/GTOOLS/ Pour standardiser vos menus et les faire bénéficier de la puissance du langage UIM !
1) Génération du source UIM
On part du fichier message pour régénérer les commandes associées aux options On ne sait pas récupérer de manière simple le texte de l’option, celle ci étant dans un source DDS (si vous l’avez…)
On met donc comme texte la commande à exécuter, vous pourrez donc éditer le source pour changer le texte affiché
https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-11-22 10:15:542022-04-12 10:05:43Convertir un menu SDA en UIM
Voici un 2ème post d’une série consacré à UIM (User Interface Manager).
Ce langage peut vous permettre de réaliser des menus standards IBM, en effet tous les menus sont codés en ce langage !
Vous allez devoir saisir un code source au format UIM puis le compiler. Ça peut être fastidieux à réaliser, c’est pourquoi nous avons réalisé un outil (CRTMNUUIM) qui va vous permettre de réaliser un menu sans aucune compétence dans ce langage.
Vous pouvez le retrouver ici https://github.com/Plberthoin/PLB/tree/master/GTOOLS/
Si vous avez quelques compétences malgré tout, vous pouvez éditer le source ici MONMENU du fichier source QMNUSRC, en complétant par exemple les aides !
2) Vous pouvez ensuite compiler le menu en indiquant que vous avez un source UIM
https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-11-19 15:06:082022-04-12 10:07:04Créer un menu UIM
Vous créez des commandes et vous voudriez leur ajouter de l’aide, ces aides sont écrites dans un langage UIM (User Interface Manager) qui vous permet de générer des panneaux d’aide que vous pouvez ensuite ajouter à vos commandes. Le langage UIM est un langage de présentation un peu similaire à HTML, il existe de nombreux sites pour l’apprendre. Pour les commandes, il existe une commande IBMi qui permet de générer une structure qui vous permettra de vous concentrer sur le texte à mettre sans avoir de connaissance approfondie du langage UIM.
Nous avons fait un outil que vous pouvez trouver ici https://github.com/Plberthoin/PLB/tree/master/GTOOLS/ qui vous permettra d’automatiser la génération votre source et voici ce que vous devrez faire ensuite
https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-11-16 13:15:342022-04-12 10:12:57Ajouter de l’aide à vos commandes
CPF1269 Demande de démarrage de programme reçue sur unité &1 CPF1393 Le profil utilisateur &2 a été désactivé CPF1397 Poste &3 mis hors fonction par sous-système &1 CPI2209 Profil utilisateur &1 supprimé car endommagé. CPI9014 Le mot de passe reçu de l’unité &1 est incorrect. CPI96C0 Le mot de passe protégé n’a pas pu être validé. CPI96C1 La valeur de la variable GDS d’ouverture de session CPI96C2 Le mot de passe utilisateur n’a pas pu être changé. CPI96C3 Message &4 renvoyé lors d’un appel système. CPI96C4 Le mot de passe n’est pas correct pour le profil utilisateur CPI96C5 L’utilisateur &4 n’existe pas. CPI96C6 Code retour &4 reçu lors de l’appel de CPI-Communication CPI96C7 Incident système dans programme de transaction d’ouverture
Vous en avez d’autres qui seront envoyés dans les 2 files
Vous voulez avoir une idée du nombre d’entrées-sorties que génère un travail sur votre base de données.
Pour ceci, vous pouvez par exemple utiliser la comptabilité des travaux.
Pour utiliser cette fonctionnalité, vous devez la mettre en œuvre voici comment :
1 ) Créer un récepteur de journal par exemple dans qusrsys ou une de vos bibliothèques CRTJRNRCV JRNRCV(QUSRSYS/QACGJRN) 2) Créer le journal QACGJRN CRTJRN JRN(QSYS/QACGJRN) JRNRCV(QUSRSYS/QACGJRN) 3) Changer la valeur système QACGLVL CHGSYSVAL SYSVAL(QACGLVL) VALUE(‘*JOB’)
Tous les jobs démarrés à partir de ce moment seront logués
Pour analyser vous avez des postes de type JB Le plus simple est d’utiliser un fichier modèle Le fichier modèle qui correspond est QSYS/QAJBACG4
Vous pouvez alors interroger votre fichier par sql
exemple ici en se limitant au jobs interactifs :
SELECT JAJOBH as travail, JAUSRH as utilisateur, JANBRH as numero, JADBPT as acces, JADBGT as creation, JADBUP as mise_à_jour FROM PLB.WAJBACG4 WHERE JATYPE = ‘I’
Remarque : N’oubliez pas supprimer les récepteurs quand vous les avez traité Si vous voulez arrêter la collecte CHGSYSVAL SYSVAL(QACGLVL) VALUE(‘*NONE’)
Vous pouvez également utiliser la comptabilité des travaux pour de nombreuses autres informations, pour par exemple estimer vos volumes d’impression.
https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-10-22 16:46:132022-04-12 10:20:28Nombre d’accès DB d’un travail
Vous avez décidé de changer de version d’OS , voici quelques opérations auxquelles on ne pense pas toujours, mais qui peuvent vous aider en cas de problème.
1) Appliquer les PTFs définitivement
APYPTF LICPGM(ALL) APY(PERM) vous pourrez ainsi faire le ménage et supprimer les SAVFs sans déphaser le catalogue DLTPTF PTF(*PRMAPY)
2) Faire le ménage
Ça ne fait jamais de mal de faire un peu de place
Supprimer tout ce qui est inutile les SAVFs
Les récepteurs Les spools Dans l’ifs les fichiers de travail de log etc…
Réorganiser les fichiers ayant beaucoup de d’enregistrements supprimés, méfiez vous de BRMS et des collectes de performances.
Supprimer les objets inutilisés (si nécessaire faire une sauvegarde au cas où).
3) Téléchargez PRUV, lancez le, et suivez les recommandations qu’il vous donne …
Je vous conseille de télécharger la dernière version juste avant de faire votre opération.
.
4) Faire un DSPOBJD *ALL dans un fichier pour garder les dates de référence sur les objets.
Ça vous permettra d’avoir les dates d’usage, de modification etc .. de vos objets avant installation, cette dernière pouvant changer ces informations et fausser vos analyses futures.
5) Bien sur faire une SAV21 de votre système qui vous servira à redémarrer en cas de gros problèmes
Conserver cette bande vers vous jusqu’à la fin de votre opération complète !
https://www.gaia.fr/wp-content/uploads/2017/02/team3.png600600Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-10-21 18:45:132022-04-12 10:22:405 choses à faire avant de changer de version
On ne dira jamais assez comment à quel point SQL nous simplifie la vie. C’est d’autant plus vrai pour la gestion des correctifs
Voici 5 requêtes à garder pour vos contrôles de PTFs
1) Contrôle de la TR et de la version avec QSYS2.GROUP_PTF_INF
SELECT CURRENT SERVER CONCAT ‘ est en version ‘ CONCAT PTF_GROUP_TARGET_RELEASE CONCAT ‘ et le niveau de TR est : ‘ CONCAT PTF_GROUP_LEVEL AS NIVEAU_DE_TECHNOLOGY_REFRESH FROM QSYS2.GROUP_PTF_INFO WHERE PTF_GROUP_DESCRIPTION = ‘TECHNOLOGY REFRESH’ AND PTF_GROUP_STATUS = ‘INSTALLED’ ORDER BY PTF_GROUP_TARGET_RELEASE DESC FETCH FIRST 1 ROWS ONLY
2) Contrôle des cumulatives sur le microcode et l’OS avec QSYS2.PTF_INFO
with result_ptf as( SELECT PTF_PRODUCT_ID , Max(PTF_IDENTIFIER) as last_ptf FROM QSYS2.PTF_INFO WHERE (PTF_PRODUCT_ID = ‘5770999’ and substr(PTF_IDENTIFIER , 1 , 2) = ‘TL’ ) or (PTF_PRODUCT_ID = ‘5770SS1’ and substr(PTF_IDENTIFIER , 1 , 2) = ‘TC’ ) GROUP BY PTF_PRODUCT_ID ) select PTF_PRODUCT_ID, date(’20’ concat substr(LAST_ptf, 3, 2) concat ‘-01-01’) + (dec(substr(Last_PTF , 4, 3)) – 1 ) days as last_date_ptf from result_ptf where date(’20’ concat substr(LAST_ptf, 3, 2) concat ‘-01-01’) + (dec(substr(Last_PTF , 4, 3)) – 1 ) days < (current_date – 6 months)
3) Contrôle si groupes à télécharger, nécessite une connexion avec SYSTOOLS.GROUP_PTF_CURRENCY
select cast(substr(PTF_GROUP_TITLE, 1, 50) as char(50)) as Nom_groupe, PTF_GROUP_LEVEL_AVAILABLE as niveau from systools.group_ptf_currency where ptf_group_level_installed <> ptf_group_level_available
4) Contrôle si groupes à appliquer, nécessite un IPL avec QSYS2.GROUP_PTF_INFO
SELECT * FROM GROUP_PTF_INFO WHERE PTF_GROUP_STATUS not in (‘INSTALLED’, ‘RELATED GROUP’, ‘NOT APPLICABLE’))
5) Contrôle du firmware, nécessite une connexion avec SYSTOOLS.FIRMWARE_CURRENCY
SELECT * FROM SYSTOOLS.FIRMWARE_CURRENCY WHERE FW_CURRENTFIXPACK <> FW_RECOMMENDED_UPGRADE and + FW_RECOMMENDED_UPGRADE is not null ) with data
Remarque
Il en existe sans doute d’autres, la limite c’est votre imagination …
/wp-content/uploads/2017/05/logogaia.png00Pierre-Louis BERTHOIN/wp-content/uploads/2017/05/logogaia.pngPierre-Louis BERTHOIN2021-10-07 15:29:572022-04-12 10:38:575 requêtes pour contrôler vos PTFS