Page 1 sur 1

Journalisation des tables

Posté : jeu. 28 nov. 2019, 20:59:15
par damz
DB2 for i 7.3

Bonjour,

Bien que n'étant pas du tout spécialiste des System i, je suis un peu surpris de constater que les tables dans une assez vieille base ne sont jamais associées à un récepteur de journal.
Est-ce que ça veut dire qu'elles sont de toute façon associées à un récepteur par défaut ?
Sinon, comment se passe la journalisation ?

D'avance merci

journalisation

Posté : lun. 02 déc. 2019, 08:20:27
par cmasse
Bonjour,

historiquement la journalisation est facultative.

les étapes traditionnelles sont :
a/ création du récepteur (pas de récepteur par défaut)
b/ création du journal
c/ STRJRNPF de chaque PF ou Table

elle est automatique, quand :

1/ dans la bibliothèque il y a un journal QSQJRN et que l'on créé par SQL (CREATE TABLE)
2/ il y a une Data area QDFTJRN contenant le nom du journal et sa bibliothèque (V5R30)
3/ la bibliothèque a été journalisée par STRJRNLIB (V6R10)

Journalisation des tables

Posté : mar. 03 déc. 2019, 15:46:05
par damz
Bonjour,

Merci pour ces informations.
Dois-je comprendre qu'en tant que développeur d'application, je ne peux pas moi-même initialiser une transaction et piloter le processus transactionnel comme je le souhaite avec un ROLLBACK par exemple ?

journalisation

Posté : mar. 03 déc. 2019, 16:06:44
par cmasse
si les tables sont Journalisées (choix de l'administrateur) , SI !

Journalisation des tables

Posté : mar. 03 déc. 2019, 18:57:09
par damz
D'accord merci, mais je pense qu'elles ne sont pas journalisées justement ;-)
Comment en être certain ?

DSPFD

Posté : mer. 04 déc. 2019, 08:22:55
par cmasse
Passez la commande DSPFD et cherchez la chaîne

Fichier actuellement journalisé . . . . . . : Oui/Non

Journalisation des tables

Posté : mer. 04 déc. 2019, 15:23:33
par damz
Ne sachant pas utiliser la console, je fais tout avec l'exécution de script SQL depuis ACS ...
Alors j'ai bien tenté un :
CALL QSYS2.QCMDEXC('DSPFD FILE(MALIB/MYFILE)');

La commande s'exécute sans erreur, mais ça n'affiche rien...
En regardant les propriétés de la table je suis tout de même tombé là-dessus :

Journaling for MALIB/MYFILE
--------------------------------
Status : currently jounaled
Journal : SCJRN
Library : ££EDHJRN

Donc bon, c'est journalisé.
Ouf, je trouvais ça un peu dingue pour un système de production

Merci pour tout