Afficher une dataarea par SQL
Utilisation de la table SQL qsys2.data_area_info SELECT SUBSTR(data_area_value, 1, 8) FROM qsys2.data_area_infoWHERE data_area_library = ‘QUSRSYS’ AND data_area_name = ‘QSS1MRI’
Utilisation de la table SQL qsys2.data_area_info SELECT SUBSTR(data_area_value, 1, 8) FROM qsys2.data_area_infoWHERE data_area_library = ‘QUSRSYS’ AND data_area_name = ‘QSS1MRI’
SELECT OBJLIB as bibliotheque ,OBJNAME as objet , OBJTYPE as type , OBJDEFINER as createur, OBJCREATED as date_creation ,OBJTEXT as description FROM TABLE(QSYS2.OBJECT_STATISTICS(‘AXFILE’,’*ALL’))ORDERBY OBJtype, objname
Cette requête SQL permet de mettre en évidence les différences de niveaux entre 2 bibliothèques : Pour n’afficher que les fichiers qui ont changé de niveau :
SELECT * FROM QSYS2.SYSFUNCS Pour tester la présence d’une fonction (par exemple QCMDEXC) :SELECT *FROM QSYS2.SYSFUNCSWHERE ROUTINE_NAME = ‘QCMDEXC’
DSPDTAARA QUSRSYS/QSS1MRI
Votre source a été supprimé? Comment vérifier si il existe une copie de sauvegarde quelque part sur la machine? SELECT * FROM syspartitionstat WHERE system_table_member = ‘MONSOURCE’
SELECT SUM(objsize) FROM TABLE(QSYS2.OBJECT_STATISTICS(‘MABIB’, ‘*ALL’)) Additionner 2 bibliothèques :VALUES (SELECT SUM(objsize) FROM TABLE(QSYS2.OBJECT_STATISTICS(‘MABIB’, ‘*ALL’))) + (SELECT SUM(objsize) FROM TABLE(QSYS2.OBJECT_STATISTICS(‘MABIB2’, ‘*ALL’)))
Permet de repérer les programmes RPG qui vont planter en erreur de niveau suite à une évolution de la base de données. 1) Lister les références des programmes dans un fichier temporaire :DSPPGMREF PGM(BIBPGM/*ALL) OUTPUT(OUTFILE) OBJTYPE(*PGM) OUTFILE(QTEMP/LISTEPGM) 2) Croiser les « format level ID » entre la liste des références des programmes et la liste des fichiersSELECT … Lire la suite
EXCEPT en SQL permet d’extraire les différences entre 2 tables. Exemple : 2 tables article avec des contenus différents 1) Extraire les lignes de ARTICLE qui ne sont pas dans ARTICLE2 :SELECT * FROM articleEXCEPTSELECT * FROM article2Résultat : Casquette jaune 2) Extraire les lignes de ARTICLE2 qui ne sont pas dans ARTICLE :SELECT * … Lire la suite
Lister les bibliothèques :SELECT * FROM sysschemas Par exemple, les 10 plus grosses bibliothèques :SELECT * FROM sysschemas ORDER BY schema_size DESCLIMIT 10 Lister les tables : SELECT * FROM systables Par exemple, lister les tables d’une bibliothèque :SELECT * FROM systables WHERE table_schema =’maBib’ Lister les colonnes :SELECT * FROM syscolumns Lister les colonnes … Lire la suite