ITIM : Data Synchronization

Avant de pouvoir lancer des rapports d'activité, audit et autres dans ITIM, il faut auparavant lancer une "Data Synchronization".
Cette étape peut parfois être très longue, en fonction des données à traiter. Sur notre plate-forme de production, tout récemment initialisée, l'opération a duré 47 minutes pour 70 000 personnes (et aucun compte externe à ITIM).

Il ne faut donc pas s'inquiéter si l'écran montre que c'est toujours en cours de processing (message Synchronization is in progress.)

Quelques infos techniques sur le sujet.

ITIM se sert d'une table ENTITY_COLUMN pour gérer l'historique de ce qu'il a synchronisé pour les rapports.
La colonne AVAILABLE_FOR_REPORTING permet notamment de savoir où en est le processus : lorsque toutes les lignes ont le statut "Available for reporting" = 'available', la synchronisation est terminée.

La table contenant l'historique des synchronisations se nomme : SYNCHRONIZATION_HISTORY.

On peut calculer le temps de traitement (en mS) avec la commande :

select status, (completed_time - started_time) time_MS from synchronization_history ;

Récupération du statut, début de transaction et durée en minutes

select status, to_char(TO_DATE('19700101','YYYYMMDD') + NUMTODSINTERVAL(started_time / 1000,'SECOND'),'YYYY-MM-DD HH24:MI:SS') START_DATETIME, (completed_time - started_time)/60000 time_Minutes from synchronization_history;

Si une synchronisation semble bloquée après plusieurs jours, il est toujours possible de changer son statut, ce qui permet de lancer une autre synchronisation :

update synchronization_history set status = 'Failure' where status = 'Started';

Pour plus d'informations voir le site d'IBM : http://www-01.ibm.com/support/docview.wss?uid=swg21417211

Réduire la taille de la base et le temps de synchronisation

Par défaut, l'accès aux rapports est possible pour d'autres profils que l'administrateur. Ceci pose cependant un problème, car dans ce cas ITIM calcule, pour chaque événement, les ACL donnant les droits aux objets. Du coup, la taille de la base d'audit explose, et le temps de synchronisation également.

Il est possible de limiter la taille de la base d'audit, en n'autorisant que les comptes administrateurs à lancer des rapports. Ceci s'effectue en changeant les lignes suivantes dans le fichier /product/itim/adhocreporting.properties :

# Indicates whether ACI enforcement on report data generated is required
availableForNonAdministrators=true

En

#availableForNonAdministrators=true
# Changed to reduce the database size and report sync time
availableForNonAdministrators=false

Il faut ensuite relancer l'application ITIM via la console WebSphere, ou bien en redémarrant le serveur d'application.

Catégorie