Show Menu
SUJETS×

Types de maintenance

Maintenance au niveau applicatif

Adobe Campaign met à votre disposition un workflow intégré qui permet de planifier certaines tâches de maintenance. Il s'agit du workflow de nettoyage de la base qui effectue les tâches suivantes :
  • suppression des enregistrements expirés,
  • suppression des enregistrements orphelins et réinitialisation du statut des objets qui ont expirés,
  • mise à jour des statistiques de la base de données.
Le workflow de nettoyage assure la maintenance au niveau applicatif et non celle du SGDB (à l'exception de la mise à jour des statistiques). Il est cependant nécessaire d'effectuer des opérations de maintenance sur la base. En effet, le fait que la tâche de nettoyage se déroule sans erreur ne signifie pas que la base de données soit totalement optimisée.

Maintenance technique

Le workflow de nettoyage de la base ne comprend aucun système pour planifier la maintenance de la base. C'est à vous que revient la responsabilité de planifier la maintenance. Pour cela, vous pouvez, au choix :
  • collaborer avec l'administrateur de la base de données pour configurer la maintenance de la base avec des outils tiers,
  • utiliser le moteur de workflow disponible dans Adobe Campaign pour planifier et suivre les activités de maintenance.
Ces procédures de maintenance doivent être effectuées régulièrement. Il s'agit, par exemple, des procédures suivantes :
  • regénérer l'index des tables fréquemment mises à jour,
  • compacter ou reconstruire les tables pour leur éviter d'être fragmentées.

Planifier la maintenance

Vous devez trouver le moment approprié pour effectuer les opérations de maintenance. Celles-ci peuvent avoir un impact important sur les performances de la base de données ou bloquer l'application (du fait du verrouillage).
Il est courant de lancer les tâches de maintenance une fois par semaine, pendant une période de faible activité et en dehors des périodes de sauvegarde, de rechargement de données ou de calcul des agrégats. Sur certains systèmes très sollicités il peut être nécessaire de le faire plus souvent.
Une opération de maintenance plus importante, comme la reconstruction de toutes les tables peut être faite une fois par mois, de préférence lorsque les applications sont totalement arrêtées, le système étant alors inutilisable.

Reconstruire une table

Pour reconstruire une table, plusieurs stratégies sont envisageables :
Opérations Description Avantages Inconvénients
Défragmentation à chaud La plupart des moteurs de base de données mettent à disposition des méthodes de défragmentation. Il suffit d'utiliser la méthode de défragmentation du moteur de base de données. Ces méthodes ont l'avantage de préserver l'intégrité des données, notamment en les verrouillant pendant la défragmentation. Selon les bases, ces méthodes de défragmentation peuvent être fournies comme une option du SGBDR (Cf. Oracle) et ne sont pas toujours les plus efficaces sur les tables très volumineuses.
Sauvegarde puis restauration Cette opération consiste à sauvegarder la table sous forme de fichier puis à la supprimer de la base de données et à la restaurer à partir du fichier de sauvegarde. Il s'agit de la façon la plus simple de défragmenter une table. C'est également la seule envisageable lorsque la base occupe presque tout l'espace-disque. La table étant supprimée puis recréée, il est impossible de garder l'application en état de fonctionnement, même en lecture seule car la table n'est pas accessible pendant la phase de restauration.
Duplication puis renommage et suppression Cette opération consiste à créer une copie de la table et de ses index, à supprimer la table originelle puis à la remplacer par sa copie après l'avoir renommée. Cette méthode est plus rapide que la première approche, car elle génère moins d'E/S (pas de copie en tant que fichier ni de lecture à partir de ce fichier). Requiert deux fois plus d'espace-disque. Tous les processus qui doivent accéder à la table en écriture doivent être arrêtés. Ils ne seront pas affectés par les opérations de duplication/renommage/suppression car les différentes versions de la table sont échangées au dernier moment lorsque la défragmentation est terminée.