Questo capitolo è l'elenco delle cose da guardare quando non sta succedendo niente: PTF, riavvii, spazio disco, valori di sistema e schedulazioni.
Le correzioni: le PTF
Le correzioni si chiamano PTF (Program Temporary Fix). IBM le distribuisce singole, raccolte nel pacchetto cumulativo, e in gruppi per area: Db2, HIPER (High Impact PERvasive), Java, sicurezza e altri. Ogni gruppo ha un livello progressivo, ed è quello che si segue.
WRKPTFGRP
In SQL, il livello più alto installato di ogni gruppo:
SELECT PTF_GROUP_NAME, MAX(PTF_GROUP_LEVEL) AS LIVELLO
FROM QSYS2.GROUP_PTF_INFO
WHERE PTF_GROUP_STATUS = 'INSTALLED'
GROUP BY PTF_GROUP_NAME
ORDER BY PTF_GROUP_NAME
È la forma dell'esempio IBM della vista, che cerca il livello del cumulativo con
MAX(PTF_GROUP_LEVEL) e PTF_GROUP_STATUS = 'INSTALLED'. Per leggerla serve *USE sul
comando WRKPTFGRP. Il livello va confrontato con quello corrente pubblicato da IBM per il
proprio rilascio.
Subito o al riavvio
Alcune PTF non si possono applicare subito, perché il sistema operativo o i prodotti che
toccano sono attivi: sono le PTF differite, e si applicano solo all'IPL successivo. Le
immediate si applicano senza IPL, se gli oggetti che toccano non sono in uso e se tutte
le PTF richieste si possono applicare subito anche loro. DSPPTFAPYI dice in anticipo come
andrà.
I gruppi che aspettano un riavvio si vedono così:
SELECT PTF_GROUP_NAME, PTF_GROUP_LEVEL
FROM QSYS2.GROUP_PTF_INFO
WHERE PTF_GROUP_STATUS = 'APPLY AT NEXT IPL'
Nota
è il motivo per cui una campagna di aggiornamento si pianifica insieme a un IPL, e per cui un sistema che non si riavvia può avere PTF caricate e non ancora attive.
Il riavvio
Il riavvio si chiama IPL (Initial Program Load).
PWRDWNSYS OPTION(*CNTRLD) DELAY(600) RESTART(*YES)
Con *CNTRLD i sottosistemi chiudono i job in modo controllato entro il tempo di DELAY
(di serie 3600 secondi), e i programmi fanno la loro chiusura; quello che resta dopo viene
chiuso subito.
Avvertenza
con OPTION(*IMMED) i programmi non possono fare la loro chiusura, e IBM
avverte che può dare risultati indesiderati su dati aggiornati a metà: va usato solo dopo
un tentativo controllato non riuscito.
Il lato di IPL: A e B
Il sistema tiene due copie del Licensed Internal Code. La copia A è quella permanente; la B contiene anche le correzioni del Licensed Internal Code applicate in modo temporaneo. La B è quella che si usa di norma, e serve per far funzionare le correzioni temporanee; IBM indica la A quando un IPL dalla B non riesce per colpa di una di quelle.
DSPPTF LICPGM(5770999)
Nel campo «IPL source», ##MACH#A è la A e ##MACH#B la B. Il lato si sceglie con
PWRDWNSYS ... IPLSRC(A) o IPLSRC(B), dal pannello di controllo (funzione 02, insieme
alla modalità: manuale o normale) o, per una partizione, dalla HMC.
Lo spazio disco
Il numero da guardare è l'occupazione dell'ASP di sistema, contro la sua soglia: di serie
il 90%, oltre la quale il sistema comincia a mandare messaggi. Che cosa succede dopo, e
la query su QSYS2.ASP_INFO con la soglia accanto all'occupazione, stanno nel capitolo
Gli ASP.
WRKSYSSTS
Per unità disco:
SELECT UNIT_NUMBER, UNIT_TYPE,
DEC(PERCENT_USED, 5, 1) AS PERCENTUALE
FROM QSYS2.SYSDISKSTAT
ORDER BY PERCENT_USED DESC
Dove va lo spazio lo dicono i capitoli su lo spool e su i salvataggi, per i journal receiver.
I valori di sistema
Sono le impostazioni globali della macchina.
WRKSYSVAL
DSPSYSVAL SYSVAL(QSECURITY)
Quelli che questa guida ha già nominato:
| Valore | Capitolo |
|---|---|
QSYSLIBL, QUSRLIBL |
la lista librerie |
QCTLSBSD, QPFRADJ |
job e sottosistemi |
QSECURITY, QCRTAUT, QAUDCTL, QAUDLVL |
profili e sicurezza |
QLOGOUTPUT |
messaggi e job log |
QRCLSPLSTG |
lo spool |
QALWOBJRST |
salvare e ripristinare |
Tutti insieme, con il valore di serie accanto:
SELECT SYSTEM_VALUE_NAME, SYSTEM_VALUE, SHIPPED_DEFAULT_VALUE
FROM QSYS2.SYSTEM_VALUE_INFO
ORDER BY SYSTEM_VALUE_NAME
Consiglio
conservare l'esito di questa query una volta l'anno e confrontarlo con quello dell'anno prima dice che cosa è cambiato, anche quando nessuno ricorda chi l'ha cambiato.
Le schedulazioni
Il sistema ha uno scheduler proprio:
WRKJOBSCDE
ADDJOBSCDE JOB(CHIUSURA) CMD(CALL PGM(PRODLIB/CHIUSURA)) +
FRQ(*MONTHLY) SCDDATE(*MONTHEND) SCDTIME(230000)
Avvertenza
se una voce è sospesa (HELD) all'ora prevista, il job non parte. Le
voci sospese, per esempio dopo una manutenzione, si trovano con:
SELECT SCHEDULED_JOB_NAME, STATUS, DESCRIPTION
FROM QSYS2.SCHEDULED_JOB_INFO
WHERE STATUS = 'HELD'
Che cosa guardare, e ogni quanto
Un punto di partenza, da adattare all'impianto:
| Quando | Che cosa |
|---|---|
| Ogni mattina | messaggi in QSYSOPR e QSYSMSG, esito dei batch notturni, voci di schedulazione sospese |
| Ogni settimana | spazio disco, esito dei salvataggi, job log dei lavori falliti |
| Ogni mese | livello dei gruppi di PTF, PTF in attesa di IPL, crescita di spool e IFS, profili fermi da tempo |
| Ogni anno | prova di ripristino, revisione dei profili con diritti speciali, confronto dei valori di sistema |
Ognuna di queste voci è una query o un comando, e quasi tutte si possono far girare da una voce dello scheduler.
Fonti
- IBM: GROUP_PTF_INFO view
- IBM: Applying fixes
- IBM: Power Down System (PWRDWNSYS)
- IBM: Determining the storage area before installing fixes
- IBM: Changing operating modes and IPL types
- IBM: SYSDISKSTAT view
- IBM: SYSTEM_VALUE_INFO view
- IBM: Add Job Schedule Entry (ADDJOBSCDE)
- IBM: SCHEDULED_JOB_INFO view
Commenti
Nessun commento ancora. Sii il primo a commentare!
Devi avere un account per commentare. Accedi · Registrati