Il m’est parfois arrivé - (et vous aussi j’en suis sûr !) - de faire une mauvaise saisie, de lancer le mauvais programme, de faire une répartition hasardeuse et de modifier le contenu de notre base de données d’une manière incohérente.

Évidemment, les reportings et autres tableaux de bord sont alors complètement erronés.

Dernièrement, j’ai malheureusement exécuté un programme de rechargement qui n’a eu d’autre conséquence que d’effacer une journée entière de saisie de la part des contributeurs...

Je me situais entre deux sauvegardes, sans aucun moyen de retrouver les données des utilisateurs, sauf utiliser une « machine à remonter dans le temps » !

Planning Analytics a cette capacité (activable ou non cube par cube) d’enregistrer un journal de transactions et d’écrire, à chaque modification du contenu d’une cellule, une ligne dans ce journal de transactions, les informations ainsi recueillies sont (entre autres) :

  • Instant de la modification (date, heure, minute, seconde)
  • Utilisateur ayant effectué la modification
  • Ancienne valeur
  • Nouvelle valeur
  • Cube concerné
  • Toutes les coordonnées de la cellule concernée dans chacune des dimensions

Astuce Planning Analytics : Une machine à remonter le temps pour réparer nos bêtises

Les transactions (effectuées en mémoire) sont enregistrées dans le fichier tm1s.log et lorsque l’on sauvegarde les données sur disque, ce fichier se vide et devient un fichier historique du genre : tm1sAAAAmmHH1miss.log qui peut facilement atteindre plusieurs Go lorsque moult transactions ont été effectuées depuis la dernière « sauvegarde physique ».

Dans notre cas de figure, je savais que j’avais malencontreusement lancé mon programme aux alentours de 17h00 (en regardant les traces du journal tm1server.log), qu’il s’agissait d’un cube bien particulier pour un ensemble de coordonnées bien particulières.

Il me fallait réduire le fichier de plusieurs Go à quelques centaines de Mo, en filtrant les lignes qui me concernaient.

J’ai utilisé la commande dos « Findstr » pour réduire progressivement la taille de mon fichier de transaction :

findstr Admin tm1s20230224145014.log > Fichier_Admin.txt

puis

findstr NomDuCube Fichier_Admin.txt > Fichier_Admin_Cube.txt

puis

findstr Phase Fichier_Admin_Cube.txt > Fichier_Admin_Cube_Phase.txt

puis

findstr Version Fichier_Admin_Cube_Phase.txt > Fichier_Final.txt

Ce dernier fichier était suffisamment petit pour que je puisse l’ouvrir dans un éditeur à fins de vérifier et encore filtrer des lignes.

 

Et ensuite ?

J'ai alors créé un processus Turbo Integrator qui lirait ce fichier et, à chaque enregistrement, remettrait la valeur qui était en vigueur avant que je ne l’efface.

Mes utilisateurs ont alors pu retrouver leurs données dans l’état exact où ils les avaient laissées.

Astuce Planning Analytics : Une machine à remonter le temps pour réparer nos bêtises

Astuce Planning Analytics : Une machine à remonter le temps pour réparer nos bêtises

Et voilà, une machine à remonter le temps qui peut s'avérer bien utile en cas de maladresse !

Retrouvez tous nos astuces et tutos Planning Analytics dans notre Wiki !

TM1 (Planning Analytics) fête cette années ses 40 ans d’existence, un grand moment pour un grand produit !

Vous souhaitez bénéficier d'experts, de développeurs, ou d'une formation sur TM1 / Planning Analytics ? Rendez vous sur la page Contact