Dans cet article


Offres d'emploi

Tags

Script de suppression des transactions inutiles

Script de suppression des transactions inutiles

Cet article explique comment utiliser le script Planisware de suppression des transactions inutiles.

Objectif : Supprimer des transactions inutiles dans Planisware.

 

1)      Introduction

Nous traitons ici des transactions des processus Intranet Servers. Ces transactions sont écrites dans une table de la base de données Planisware nommée OPX2_TRANSACTION, et plus en détail dans TRANSACTION.log depuis lesquelles il est possible de retrouver tout l’historique des transactions.

Quand on purge les transactions inutiles, on purge la table OPX2_TRANSACTION et on conserve uniquement la dernière transaction des objets (leur dernière valeur), c’est à dire qui ne sont pas référencées par d’autres objets OPX2 comme dernière modification réalisée sur l’objet.

Le script de purge contient également un critère sur la date de la transaction : par défaut la purge ne concerne que les transactions réalisées il y a plus de 7 jours.

 

2)      Génération du script :

Ce script est accessible depuis le client lourd Planisware.

Se connecter avec un utilisateur admin et passer en mode administrateur.

Aller dans Fichier>Administration>Script pour effacer les transactions inutiles…

BTH_PURGE_1

Planisware demande où vous désirez enregistrer le script sur votre poste et quel nom lui donner.

Renseignez ces champs puis validez.

Un message apparait vous confirmant la génération du script d’effacement des transactions inutiles sur votre poste, au lieu et avec le nom que vous avez choisi.

BTH_PURGE_2

Cliquer sur OK, La pop-up se ferme.

 

3)      Utilisation du script :

Il faut exécuter ce script en SQL directement sur votre base de données, car il est en « .sql ».

 

Point d’attention particulier :

A la génération du script, une table SELECT_OPTIMIZER (qui sera également purgée à la fin de l’opération) est créée dans la base de données. Qui servira à identifier la dernière transaction des objets OPX2 dans la table OPX2_TRANSACTION.

Donc sur chaque environnement il faudra régénérer le script car même si la version applicative est identique il sera nécessaire d’avoir généré la table SELECT_OPTIMIZER pour pouvoir utiliser le script.

En effet, on pourra exécuter le script sur la BDD de l’environnement d’où le script est généré. Mais pas sur l’environnement qui n’a pas généré de script de purge, car la table sera absente.

Le script se terminera en erreur :

INSERT INTO SELECT_OPTIMIZER (OPX2_KEY,OBJECT_ID) (select distinct ‘trn_cleanup’, MODIFY_VERSION from where (NOT (MODIFY_VERSION IS NULL)))

                                                                                                      *

ERROR at line 1:

ORA-00942: table or view does not exist

Ici l’erreur indique que la table SELECT_OPTIMIZER n’existe pas dans la base sur laquelle on essaie d’exécuter le script SQL de purge des transactions inutiles.

 

Remarque :

  • Il est conseillé de faire tourner cette requête assez souvent pour vider la table de transactions. En effet sans purge la volumétrie de cette table peut croitre de manière importante et continue ce qui peut in fine impacter les performances.
  • Il peut être intéressant d’adapter la durée de rétention des transactions, initialement à 7 jours, au contexte de l’utilisation de l’application.

 

Attention : Comme la plupart des scripts SQL exécutés directement en base de données il est conseillé de l’exécuter lorsque les services Planisware sont arrêtés.

 

L'équipe AXOPEN

Voir aussi les articles suivants

Suppression d’objets sous P5

Suppression d’objets sous P5

Le 22/03/2012 par Thibault Gonin

Rappels d’architecture : L’architecture du progiciel Planisware 5 repose sur une base de données contenant des tables indépendantes (une par classe d’objet). Les relations entre objets sont gérées exclusivement par la couche logicielle (il n’y a pas de relations directement implémentées dans le SGBD). Lors de la suppression d’un objet complexe (lié à d’autres objets) c’est le noyau logiciel qui va, dans la plupart des cas, vérifier que l’objet que l’on veut supprimer n’est pas encore lié à d’autres objets de l’application.
Lire l'article

Planisware Replay : un nouvel outil de tests pour Planisware
Introduction Depuis le second semestre 2012, Planisware propose un outil d’automatisation des tests fonctionnels nommé Planisware Replay. Cet outil permet d’enregistrer des scénarios fonctionnels en client léger puis de les rejouer de manière automatisée. Ceci est très utile notamment pour automatiser des tests de non-régression (TNR) sur des environnements de développements, voire en exploitation pour tester de la disponibilité de l’application. Tests de non-régression La non-régression est un enjeu important du développement d’une nouvelle version applicative.
Lire l'article

Localisation des fichiers de cache de Planisware 5

Le 23/04/2013 par Thibault Gonin

Introduction Les fichiers de cache de Planisware sont utilisés par les processus Planisware pour stocker temporairement des données de type image, patchs, utilisateur par défaut, etc…). Ce cache permet un chargement plus rapide des données ou la conservation d’informations renseignées lors des précédentes connexions.  On distingue plusieurs catégories de cache : cache du client lourd Planisware ou du serveur d’application cache du client léger (l’applet JAVA Planisware) La localisation des fichiers de cache pourra donc varier en fonction de ces catégories mais aussi en fonction du type de plateforme sur laquelle tournent les services OPX2 (Windows, Linux, …).
Lire l'article