Configuration d’une table d’événement

Avant de commencer la journalisation ou le traçage, vous devez mettre en place une table d’événements qui recueillera les messages et les données d’événements générés par le code du gestionnaire. Avec un ensemble prédéfini de colonnes, une table d’événements est conçue pour enregistrer les événements, les journaux d’événements et les événements de trace enregistrés à partir du code du gestionnaire de fonction et de procédure.

Une table d’événements présente les caractéristiques suivantes, qui la distinguent des autres tables que vous créez :

  • La table contient un ensemble prédéfini de colonnes pour capturer les entrées de journal et les événements de trace. La structure de la table comprend des colonnes et des définitions d’objets d’attributs clé/valeur pour contenir à la fois des données prédéfinies et des données que vous concevez.

  • Vous associez une table d’événements à votre compte afin de capturer les entrées de journal et les événements de traçabilité dans cette table. Vous ne pouvez associer un compte qu’à une seule table d’événements à la fois. La table d’événements associée est appelée table d’événements actifs.

  • Vous pouvez spécifier le niveau de gravité des messages du journal et la verbosité des événements de trace à capturer.

  • Les messages de journal et les événements de trace générés par le code du gestionnaire pour les procédures stockées, les UDFs et les UDTFs sont stockés dans la table des événements actifs.

Pour configurer une table d’événements pour l’enregistrement, vous devez effectuer les opérations suivantes (décrites dans cette rubrique) :

  1. Création d’une table d’événements.

  2. Associer la table des événements au compte.

  3. Définir le niveau des événements de journalisation et de trace.

Création d’une table d’événements

Pour créer une table d’événements afin de stocker les données des journaux et des événements de trace, exécutez la commande CREATE EVENT TABLE et spécifiez un nom pour la table d’événements. Vous utiliserez le nom de la table des événements plus tard pour permettre à la table de capturer les journaux produits par les procédures stockées, les UDFs et les UDTFs dans votre compte.

Notez que lorsque vous créez une table d’événements, vous ne spécifiez pas les colonnes de la table. Une table d’événements possède déjà un ensemble de colonnes prédéfinies, comme décrit dans Colonnes de table d’événements.

Note

La réplication des tables d’événements n’est pas prise en charge actuellement. Si vous tentez de répliquer une base de données contenant une table d’événements, la réplication échouera.

Vous devez créer la table des événements dans une base de données qui n’est pas activée pour la réplication.

Par exemple, pour créer une table d’événements portant le nom my_events, exécutez l’instruction suivante :

CREATE EVENT TABLE my_database.my_schema.my_events;
Copy

Associer la table des événements au compte

Pour permettre le stockage des données d’événements de journalisation et de traçabilité des fonctions et procédures d’un compte, vous devez spécifier que la table d’événements que vous avez créée est la table d’événements active pour le compte.

Pour spécifier la table d’événements active pour votre compte, exécutez la commande ALTER ACCOUNT et donnez au paramètre EVENT_TABLE le nom de votre table d’événements.

Note

Pour exécuter cette commande, vous devez utiliser le rôle ACCOUNTADMIN.

En outre, vous devez avoir les deux des privilèges suivants :

Voir la documentation sur la commande ALTER ACCOUNT pour plus d’informations sur les privilèges nécessaires à l’exécution de ALTER ACCOUNT.

Par exemple, pour définir la table d’événements nommée my_events dans le schéma my_schema de la base de données my_database comme table d’événements active pour votre compte, exécutez l’instruction suivante :

ALTER ACCOUNT SET EVENT_TABLE = my_database.my_schema.my_events;
Copy

Comme indiqué ci-dessus, vous devez spécifier le nom pleinement qualifié de la table d’événements.

Pour dissocier une table d’événements d’un compte, exécutez la commande ALTER ACCOUNT et désactivez le paramètre EVENT_TABLE. Par exemple :

ALTER ACCOUNT UNSET EVENT_TABLE;
Copy

Vous pouvez confirmer la valeur EVENT_TABLE avec la commande SHOW PARAMETERS :

SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;
Copy

Définir le niveau des événements de journalisation et de trace

Vous pouvez gérer le niveau des données de journalisation et de trace stockées dans la table des événements en définissant le niveau de journalisation ou de trace. Avant de procéder à la journalisation ou au traçage, utilisez ces paramètres pour vous assurer que vous capturez la quantité et le type de données qui vous intéressent.

  • Si vous avez l’intention d’enregistrer les messages, vous pouvez définir un seuil de gravité pour les messages de journalisation, comme décrit à la section Réglage du niveau de journalisation

  • Si vous avez l’intention de suivre les événements, vous pouvez définir la verbosité des données d’événement comme décrit dans la section Réglage du niveau de trace