Prima si guarda quali sono staccati dal journal, dal più grande in giù:
SELECT JOURNAL_LIBRARY, JOURNAL_NAME,
JOURNAL_RECEIVER_LIBRARY, JOURNAL_RECEIVER_NAME,
SIZE / 1024 AS MB, STATUS, DETACH_TIMESTAMP, SAVE_TIMESTAMP
FROM QSYS2.JOURNAL_RECEIVER_INFO
WHERE DETACH_TIMESTAMP IS NOT NULL
ORDER BY SIZE DESC
SIZE è in kilobyte, quindi la divisione per 1024 dà i megabyte. DETACH_TIMESTAMP è
nullo per il receiver ancora attaccato (oltre che per quelli vuoti o parziali): filtrare sul
non nullo lascia i receiver staccati, gli unici candidati alla cancellazione.
STATUS dice in una parola se si possono toccare:
STATUS |
Che cosa vuol dire |
|---|---|
ATTACHED |
attaccato al journal: in uso, non si tocca |
ONLINE |
staccato e non salvato: non si cancella |
SAVED |
salvato dopo essere stato staccato; lo spazio è ancora occupato |
FREED |
salvato dopo essere stato staccato, con lo spazio già liberato al salvataggio |
PARTIAL |
ripristinato da un salvataggio fatto mentre era attaccato, o legato a un journal remoto incompleto |
Esempio: quelli salvati e staccati da più di un anno
SELECT JOURNAL_RECEIVER_LIBRARY, JOURNAL_RECEIVER_NAME,
SIZE / 1024 AS MB, DETACH_TIMESTAMP, SAVE_TIMESTAMP
FROM QSYS2.JOURNAL_RECEIVER_INFO
WHERE STATUS = 'SAVED'
AND DETACH_TIMESTAMP < CURRENT_TIMESTAMP - 1 YEAR
ORDER BY SIZE DESC
Un anno è un esempio: il limite giusto lo decide da quanto indietro si vuole poter ripartire con il salvataggio più vecchio che si tiene.
Si cancellano così:
DLTJRNRCV JRNRCV(JRNLIB/RCV0000123)
Attenzione
senza DLTOPT, se il receiver non è stato salvato il comando manda la
domanda CPA7025 (all'operatore, se gira in batch) e aspetta. Con
DLTOPT(*IGNINQMSG) quella domanda non arriva e il receiver si cancella anche se non è
salvato: non va usato per ripulire. Un receiver non salvato serve a recuperare le
modifiche avvenute dopo l'ultimo salvataggio; cancellato, quelle modifiche non tornano.
Attenzione
anche la gestione automatica non controlla il salvataggio.
CHGJRN ... MNGRCV(*SYSTEM) DLTRCV(*YES) fa staccare e cancellare i receiver al sistema, e
la cancellazione si ferma solo per un blocco, per un journal remoto che non ha ancora la
copia completa, o per un programma registrato sull'exit point QIBM_QJO_DLT_JRNRCV. Chi la
usa senza uno di questi accetta di perdere i receiver non salvati.
Rilasci. QSYS2.JOURNAL_RECEIVER_INFO è nella documentazione IBM di 7.5 e 7.6; su un
rilascio precedente, se la query risponde SQL0204, la vista non c'è e lo stato di un
receiver si legge con DSPJRNRCVA, che dice anche se è stato salvato.
Commenti
Nessun commento ancora. Sii il primo a commentare!
Devi avere un account per commentare. Accedi · Registrati