Modification d'un moniteur d'événements

Vous ne pouvez pas modifier un moniteur d'événements, à une exception près : vous pouvez ajouter un ou plusieurs groupes de données logiques à l'ensemble des groupes de données logiques collectés par le moniteur d'événements. L'instruction ALTER EVENT MONITOR permet d'ajouter des groupes logiques.

A propos de cette tâche

Lorsque vous créez un moniteur d'événements qui écrit dans des tables, tous les groupes de données logiques des éléments de moniteur associés à ce moniteur d'événements sont capturés par défaut. Toutefois, si vous incluez les noms des groupes de données logiques dans l'instruction CREATE EVENT MONITOR, seuls ces groupes sont capturés. Par exemple, vous pouvez créer un moniteur d'événements d'activités qui capture uniquement les données des groupes de données logiques event_activity et event_activity_metrics, comme le montre l'exemple suivant :
CREATE EVENT MONITOR myacts FOR ACTIVITIES 
   WRITE TO TABLE
   event_activity, event_activity_metrics
L'instruction DDL précédente crée un moniteur d'événements qui écrit dans deux tables : ACTIVITY_myacts et ACTIVITY_METRICS_myacts.


Restrictions

Vous ne pouvez utiliser l'instruction ALTER EVENT MONITOR que pour ajouter des groupes de données logiques à un moniteur d'événements. Vous ne pouvez pas supprimer un groupe de données logique. Vous ne pouvez pas non plus modifier le nom, l'espace de table cible ou la valeur de PCTDEACTIVATE associée à la table utilisée pour capturer les données des éléments de moniteur appartenant à un groupe de données.

Procédure

Pour ajouter des groupes de données logiques supplémentaires à un moniteur d'événements :

  1. Déterminez le groupe de données logique que vous souhaitez ajouter.
    En reprenant l'exemple précédent d'un moniteur d'événements de fermeture dans lequel seuls deux groupes de données logiques sont capturés, supposez que vous souhaitez ajouter les groupes de données logiques event_activitystmt et event_activityvals.
  2. Formulez une instruction ALTER EVENT MONITOR pour ajouter ces nouveaux groupes de données logiques.
    ALTER EVENT MONITOR mylacts
       ADD LOGICAL GROUP event_activitystmt
       ADD LOGICAL GROUP event_activityvals
  3. Exécuter la déclaration.

Résultats

Lorsque l'instruction ALTER EVENT MONITOR est exécutée, deux tables supplémentaires sont créées pour le moniteur d'événements myacts :
  • ACTIVITÉSTMT_myacts
  • ACTIVITYVALS_mesactions
Lors de la prochaine activation du moniteur d'événements, ces tables sont alimentées par les données des groupes de données logiques correspondants.
Rappel : si vous ajoutez de nouveaux groupes de données logiques à un moniteur d'événements, les données qui existaient pour les groupes de données logiques faisant initialement partie de la table n'auront pas de lignes correspondantes dans les tables pour le groupe logique nouvellement ajouté. Ajustez vos requêtes si nécessaire, ou envisagez d'élaguer les anciennes données de la table après avoir ajouté les groupes logiques.

Exemple

Un administrateur de base de données crée un moniteur d'événements de verrouillage appelé mylocks à l'aide de l'instruction SQL suivante :
CREATE EVENT MONITOR mylocks FOR LOCKING WRITE TO TABLE LOCK, LOCK_PARTICIPANTS
Cette instruction recueille des informations sur les éléments du moniteur dans les groupes de données logiques lock et lock_participants. Les tables dans lesquelles les données de l'élément de suivi sont écrites sont créées avec les noms de table par défaut LOCK_MYLOCKS et LOCK_PARTICIPANTS_MYLOCKS.
Par la suite, l'administrateur de la base de données décide de collecter des informations dans le groupe de données logiques LOCK_PARTICIPANT_ACTIVITIES. Elle utilise l'instruction suivante pour modifier le moniteur d'événements :
ALTER EVENT MONITOR mylocks ADD LOGICAL GROUP LOCK_PARTICIPANT_ACTIVITIES
Cette déclaration entraîne la collecte des éléments du moniteur dans lock_participant_activities en plus des autres éléments déjà collectés. Ce nouvel ensemble d'éléments du moniteur est inscrit dans le tableau LOCK_PARTICIPANT_ACTIVITIES_MYLOCKS.
Plus tard, l'administrateur de la base de données décide qu'il a également besoin des données du groupe de données logiques de contrôle. Cependant, elle souhaite que ces données soient écrites dans une table dont le nom est différent du nom par défaut et dans un espace de table différent de l'espace de table par défaut. Elle utilise la déclaration suivante :
ALTER EVENT MONITOR mylocks ADD LOGICAL GROUP CONTROL TABLE ctl_mylocks IN mytbsp3
Cette instruction ajoute le groupe de données logiques de contrôle à la sortie du moniteur d'événements. Cette instruction ajoute le groupe de données logiques de contrôle à la sortie du moniteur d'événements. Les données sont écrites dans la table CTL_MYLOCKS, et la table est écrite dans l'espace de table mytbsp3, au lieu de l'espace de table par défaut.