Aller au contenu

Service SQL IBM i (AS/400) · Procédure

SYSTOOLS.DELETE_OLD_JOURNAL_RECEIVERS

Supprimer les anciens récepteurs de journal

Supprime les récepteurs de journal détachés plus anciens qu'une date donnée, avec un mode aperçu : l'automatisation de DLTJRNRCV.

À quoi ça sert

Cette procédure supprime les récepteurs de journal détachés dont la date est antérieure à DELETE_OLDER_THAN. On peut limiter la recherche à des bibliothèques (JOURNAL_RECEIVER_LIBRARY, liste séparée par des virgules) ou à un récepteur précis (JOURNAL_RECEIVER) ; par défaut, tout est examiné.

Le paramètre DELETE_UNSAVED vaut NO par défaut : un récepteur qui n'a pas été sauvegardé est conservé. Le mode PREVIEW vaut YES par défaut : la procédure liste ce qu'elle supprimerait, sans rien supprimer. Il faut passer PREVIEW à NO pour agir réellement.

Elle remplace avantageusement un nettoyage manuel de récepteurs qui s'accumulent et occupent de l'espace disque.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

CALL SYSTOOLS.DELETE_OLD_JOURNAL_RECEIVERS(DELETE_OLDER_THAN => CURRENT TIMESTAMP + 1 DAY, JOURNAL_RECEIVER_LIBRARY => 'JOBISQL', DELETE_UNSAVED => 'YES', PREVIEW => 'YES')

La requête n'a renvoyé aucune ligne sur notre IBM i de test.

L'exemple d'IBM

Lister, puis supprimer, les récepteurs de journal détachés des bibliothèques APPLIB et TESTLIB qui ont plus de 30 jours.

-- Description: List all the detached journal receivers in APPLIB and TESTLIB that are older than 30 days. 
   CALL SYSTOOLS.DELETE_OLD_JOURNAL_RECEIVERS(DELETE_OLDER_THAN => CURRENT DATE - 30 DAYS,  
                                           JOURNAL_RECEIVER_LIBRARY => 'APPLIB, TESTLIB',  
                                           PREVIEW => 'YES'); 
    -- Description: Delete all the detached journal receivers in APPLIB and TESTLIB that are older than 30 days. 
   CALL SYSTOOLS.DELETE_OLD_JOURNAL_RECEIVERS(DELETE_OLDER_THAN => CURRENT DATE - 30 DAYS,  
                                           JOURNAL_RECEIVER_LIBRARY => 'APPLIB, TESTLIB',  
                                           PREVIEW => 'NO');

Bon à savoir

Toujours exécuter d'abord en aperçu. Ne passer DELETE_UNSAVED à YES qu'en connaissance de cause : un récepteur supprimé sans sauvegarde ne permet plus de rejouer ni de restaurer les changements.

Paramètres

ParamètreTypePar défautSignification
DELETE_OLDER_THAN TIMESTAMP obligatoire Supprimer les éléments plus anciens que la date indiquée
JOURNAL_RECEIVER_LIBRARY VARCHAR(1000) '*ALL' Bibliothèque du récepteur de journal
JOURNAL_RECEIVER VARCHAR(10) '*ALL' Récepteur de journal
DELETE_UNSAVED VARCHAR(3) 'NO' Supprimer les éléments non sauvegardés
PREVIEW VARCHAR(3) 'YES' Aperçu sans exécution