04 - System Administration04g - Varie sistemistica

Gestione del Sistema IBM i: FAQ & Howto (Parte 4) IT

Last Updated on 16 Maggio 2020 by Roberto De Pedrini

Questa è la terza parte della raccolta di FAQ & Howto sulla gestione del sistema IBM i : puoi vedere le altre raccolte qui da questi due link :

Gestione del sistema IBM i: FAQ & Howto (Parte 1)

Gestione del sistema IBM i: FAQ & Howto (Parte 2)

Gestione del sistema IBM i: FAQ & Howto (Parte 3)

iAdmin-FAQ-032 Tenere sotto controllo i Trigger

C’è un ottimo post su RPGPGM.COM di Simon Hutchinson che mostra come tenere sotto controllo i triggers in una libreria dati:

RPGPGM.COM : Finding triggers using SYSTRIGGER

iAdmin-FAQ-033 Terminare JOB in Dump … che non si chiudono con ENDJOB

Ogni tanto può succedere che non si riesca a terminare correttamente un JOB in fase di DUMP con il comando ENDJOB (Opzione 4 di WRKACTJOB).

In casi estremi si può ricorrere ad un apposito comando: ENDJOBABN End Job Abnormal ma bisogna valutare tutti i rischi di questo comando: il Job viene forzatamente terminato ma il sistema viene flaggato come “Abnormal End System” e alcune funzionalità potrebbero essere disabilitate fino al prossimo IPL …

Prima di utilizzarlo verificare bene

iAdmin-FAQ-034 Controllare velocemente gli utenti *DISABLED (e il loro ultimo login-valido)

SELECT USER_NAME,USRCLS,STATUS,
           DATE(PRVSIGNON) LastSignon
       FROM QSYS2.USER_INFO
       WHERE STATUS = '*DISABLED' 
       order by DATE(PRVSIGNON) desc;

Maggiori info : https://www.rpgpgm.com/2015/11/getting-information-about-user-profiles.html

iAdmin-FAQ-035 Lista di tutti gli utenti del gruppo QPGMR

SELECT CAST(GROUPNAME AS CHAR(10)) AS GROUP,
         CAST(USERNAME AS CHAR(10)) AS USER
    FROM QSYS2.GROUP_PROFILE_ENTRIES
   WHERE GROUPNAME = 'QPGMR';

Maggiori info: https://www.rpgpgm.com/2015/11/getting-information-about-user-profiles.html

iAdmin-FAQ-036 Lista di tutti gli utenti con autorizzazione *ALLOBJ

SELECT USER_NAME,
       USRCLS,
       SPCAUT
    FROM QSYS2.USER_INFO
    WHERE STATUS = '*ENABLED'
          AND SPCAUT LIKE '%*ALLOBJ%'
          OR USER_NAME IN (SELECT USERNAME
                  FROM QSYS2.GROUP_PROFILE_ENTRIES
                  WHERE GRPPRF IN (SELECT USER_NAME
                              FROM QSYS2.USER_INFO
                              WHERE SPCAUT LIKE '%*ALLOBJ%'));

Maggiori info: https://www.rpgpgm.com/2015/11/getting-information-about-user-profiles.html

iAdmin-FAQ-037 Alternative a WRKOBJ per cercare oggetti nel sistema? QSYS2.OBJECT_STATISTICS

Invece di WRKOBJ la vista QSYS2.OBJECT_STATISTICS permette molta più flessibilità e programmabilità. Vediamo qualche esempio:

Lista dei Journal e dei Journal-receiver in una specifica libreria:

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MYLIB ','*JRN *JRNRCV') ) AS X 

Lista di oggetti programma e service program in una libreria (lista semplice senza tutti dettagli)

SELECT * FROM TABLE (QSYS2.OBJECT_STATISTICS('MYLIB','PGM SRVPGM','*ALLSIMPLE')) X

Lista di tutti gli oggetti di una libreria con data di creazione > 1 anno e non utilizzati da 1 anno

SELECT OBJNAME,OBJTYPE,
         CAST(OBJCREATED AS DATE) AS CREATED_DATE,
         CAST(LAST_USED_TIMESTAMP AS DATE) AS LAST_USED,
         DAYS_USED_COUNT
    FROM TABLE(QSYS2.OBJECT_STATISTICS('MYLIB','ALL')) A
   WHERE LAST_USED_TIMESTAMP < current date - 1 year
      OR (OBJCREATED < current date - 1 year AND DAYS_USED_COUNT = 0);

Maggiori informazioni su:

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzajq/rzajqudfobjectstat.htm

https://www.rpgpgm.com/2016/01/using-sql-for-objects-statistics.html

iAdmin-FAQ-038 IBM i on Power Performance FAQ

Nel blog di FAQ400, in un post di FAQ non poteva mancare un riferimento alla Bibbia delle performance IBM i, appena aggiornato agli inizi di Maggio 2020:

IBM i on Power – Performance FAQ – May 1, 2020

iAdmin-FAQ-039 Utenti *ALLOBJ e accesso non SSL

Sappiamo che lasciare gli utenti normali con le autorizzazioni *ALLOBJ può essere pericoloso da un punto di vista sicurezza…. se poi accedono direttamente senza la sicurezza SSL ancora peggio: in questo Github GIST di Scott Forstie troviamo proprio una semplice istruzione SQL per elencare tutte queste condizioni:

ALLOBJ users coming in over non SSL network interfaces .sql

iAdmin-FAQ-040 Analizzare le istruzione SQL DML per Insert/Update/Delete leggendo la Plan Cache

E’ possibile analizzare le istruzioni SQL che fanno Update/Delete e Insert di record nelle nostre tabelle per verificare tempi, numeri di volte e procedure che le eseguono. Si possono individuare istruzioni lente e ripetute per intervenire sugli indici o sulla scrittura dell’istruzione stessa.

C’è un ottimo Github Gist di Scott Forstie che presenta un intero script SQL per estrazione, creazione di una tabella riepilogativa, analisi dei dati raccoli:

Extract SQL DML insight from the Plan Cache.sql

Related Posts
Gestione del sistema IBM i: FAQ & Howto (Parte 3) IT

Questa è la terza parte della raccolta di FAQ & Howto sulla gestione del sistema IBM i : puoi vedere Read more

Gestione del sistema IBM i: FAQ e Howto (Parte 2 – IT)

Una seconda raccolta di FAQ e Tips sulla gestione del sistema IBM i: - Controllo dei JOB QSZASOINIT - Conversione Read more

Gestione del sistema IBM i: FAQ e Howto (Parte 1 – IT)

FAQ, trucchi e howto sulla System Administration di IBM i: check oggetti in blocco, RGZPFM furbo, whatsmyip per IBM i,DNS Read more

--- Roberto De Pedrini Faq400.com
About author

Founder di Faq400 Srl, IBM Champion, ideatore del sito Faq400.com e del Blog blog.faq400.com. Sviluppatore RPG da quando avevo i pantaloni corti, forte sostenitore della piattaforma IBM i (ex AS400), ho sempre cercato di convididere le mie conoscenze con gli altri tramite forum, eventi e corsi. Oggi, tramite Faq400 Srl, cerchiamo di aiutare le aziende a sfruttare al meglio questa fantastica piattaforma IBM i.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *