, , RSTLIB ou RSTOBJ et APYJRNCHG

Vous connaissez tous la journalisation base de données sur l’IBM i, qui permet d’avoir les images avant et après de vos modifications base de données avec la possibilité de valider (APYJRNCHG) ou de les invalider par RMVJRNCHG.

  • Je ne parle pas ici du contrôle de validation.

Que se passe-t-il quand on restaure une bibliothèque suite à un sinistre ou sur autre système pour des tests par exemple ?

Par défaut quand vous sauvegardez un récepteur attaché vous avez ce message :

  • CPF7080 Récepteur RCV de TSTJRN1 sauvegardé alors qu’il était attaché

Que se passe-t-il quand on restaure la bibliothèque qui contient le récepteur et le journal ?

Le système crée un nouveau récepteur qu’il attache au journal, votre ancien récepteur est là, mais il est à l’état partiel.

Les récepteurs à l’état partiel ne sont pas utilisables, vous pouvez voir ce qu’il y a dedans en indiquant la plage de récepteur sur la commande DSPJRN, mais vous ne pouvez pas les utiliser.

La plus part du temps ce n’est pas grave, mais si vouliez invalider des modifications en appliquant un filtre c’est impossible.

Vous devez lire les données et les reporter à la main.

La solution est, avant de sauvegarder votre bibliothèque, de détacher le récepteur en cours.

==>CHGJRN JRN(votrebib/votreJRN) JRNRCV(*GEN)

A la restauration vous aurez 3 récepteurs
1 sauvegardé
1 partiel
1 attaché

Vous avez toujours le récepteur partiel qui est inutilisable, mais il n’a plus de modification de données à l’intérieur

Si vous choisissez d’invalider une partie des transactions en attente, vous pouvez utiliser le récepteur sauvegardé

RMVJRNCHG JRN(votrebib/votreJRN)
FILE((votrebib/*ALL))
RCVRNG(votrebib/RCVsauvegardé votrebib/RCVsauvegardé)

vous aurez un message de ce type

x postes retirés pour x objets.
Certains postes n’ont pas été appliqués ou retirés pour au moins un objet.

Le deuxième message indique que votre demande a trouvé des postes autres que R (modifications de données)

Conclusion :

Il peut être intéressant de détacher vos récepteurs avant de faire vos opérations de savlib au moins pour vos bibliothèques importantes, on ne sait jamais !

Il est intéressant de regarder si vous avez des récepteurs à l’état partiel, ça peut révéler un vrai problème.

J’ai des outils sur GITHUB qui traitent des journaux :

https://github.com/Plberthoin/PLB/tree/master/GJOURN