Einrichten einer Ereignistabelle

Bevor Sie mit der Protokollierung oder Ablaufverfolgung beginnen, müssen Sie eine Ereignistabelle einrichten, in der die vom Handler-Code generierten Meldungs- und Ereignisdaten gesammelt werden. Eine Ereignistabelle weist einen vordefinierten Satz von Spalten auf, der speziell zum Erfassen der von Handler-Code von Funktionen und Prozeduren protokollierten Ereignisse, Ereignisprotokolleinträge und Ablaufverfolgungsereignisse entworfen wurde.

Eine Ereignistabelle hat die folgenden Eigenschaften, die sie von anderen Tabellen, die Sie erstellen, unterscheiden:

  • Die Tabelle enthält einen vordefinierten Satz von Spalten speziell zum Erfassen von Protokolleinträgen und Ablaufverfolgungsereignissen. Die Struktur der Tabelle umfasst Spalten und Objektdefinitionen für Schlüssel/Wert-Attribute, um sowohl vordefinierte Daten als auch von Ihnen entworfene Daten zu speichern.

  • Sie ordnen eine Ereignistabelle Ihrem Konto zu, um Protokolleinträge und Ablaufverfolgungsereignisse in dieser Tabelle zu erfassen. Ihrem Konto kann immer nur jeweils eine Ereignistabelle zugeordnet sein. Die zugeordnete Ereignistabelle wird als aktive Ereignistabelle bezeichnet.

  • Sie können den Schweregrad der Protokollmeldungen und die Ausführlichkeit der Ablaufverfolgungsereignisse angeben, die erfasst werden sollen.

  • Protokollmeldungen und Ablaufverfolgungsereignisse, die von Handler-Code für gespeicherte Prozeduren, UDFs und UDTFs generiert werden, werden in der aktiven Ereignistabelle gespeichert.

Um eine Ereignistabelle für die Protokollierung einzurichten, müssen Sie folgende Schritte ausführen (unter diesem Thema beschrieben):

  1. Ereignistabelle erstellen

  2. Ereignistabelle dem Konto zuordnen

  3. Erfassungsgrad von Protokoll- und Ablaufverfolgungsereignissen festlegen

Ereignistabelle erstellen

Um eine Ereignistabelle zur Speicherung von Protokoll- und Ablaufverfolgungsdaten zu erstellen, führen Sie den Befehl CREATE EVENT TABLE aus, und geben Sie einen Namen für die Ereignistabelle an. Sie werden den Namen der Ereignistabelle später verwenden, um die Tabelle in die Lage zu versetzen, Protokolleinträge zu erfassen, die von gespeicherten Prozeduren, UDFs und UDTFs in Ihrem Konto generiert werden.

Beachten Sie, dass Sie beim Erstellen einer Ereignistabelle keine Spalten angeben. Eine Ereignistabelle hat bereits einen Satz vordefinierter Spalten, die unter Spalten von Ereignistabellen beschrieben sind.

Bemerkung

Die Replikation von Ereignistabellen wird derzeit nicht unterstützt. Wenn Sie versuchen, eine Datenbank zu replizieren, die eine Ereignistabelle enthält, wird die Replikation fehlschlagen.

Sie müssen die Ereignistabelle in einer Datenbank erstellen, für die keine Replikation aktiviert ist.

Um beispielsweise eine Ereignistabelle mit dem Namen my_events zu erstellen, führen Sie die folgende Anweisung aus:

CREATE EVENT TABLE my_database.my_schema.my_events;
Copy

Ereignistabelle dem Konto zuordnen

Um die Speicherung von Protokoll- und Ablaufverfolgungsdaten von Funktionen und Prozeduren für ein Konto zu ermöglichen, müssen Sie angeben, dass die von Ihnen erstellte Ereignistabelle die aktive Ereignistabelle für das Konto ist.

Um die aktive Ereignistabelle für Ihr Konto anzugeben, führen Sie den Befehl ALTER ACCOUNT aus, und setzen Sie den Parameter EVENT_TABLE auf den Namen Ihrer Ereignistabelle.

Bemerkung

Um diesen Befehl ausführen zu können, müssen Sie die Rolle ACCOUNTADMIN verwenden.

Außerdem müssen Sie über die beiden folgenden Berechtigungen verfügen:

Weitere Informationen zu den für die Ausführung von ALTER ACCOUNT erforderlichen Berechtigungen finden Sie in der Dokumentation zum ALTER ACCOUNT-Befehl.

Um beispielsweise die Ereignistabelle mit dem Namen my_events im Schema my_schema der Datenbank my_database als aktive Ereignistabelle für Ihr Konto einzurichten, führen Sie die folgende Anweisung aus:

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

Wie oben gezeigt, müssen Sie den vollqualifizierten Namen der Ereignistabelle angeben.

Um die Zuordnung einer Ereignistabelle zu einem Konto wieder aufzuheben, führen Sie den Befehl ALTER ACCOUNT aus, und deaktivieren Sie den Parameter EVENT_TABLE. Beispiel:

ALTER ACCOUNT UNSET EVENT_TABLE;
Copy

Sie können den EVENT_TABLE-Wert mit dem Befehl SHOW PARAMETERS bestätigen:

SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;
Copy

Erfassungsgrad von Protokoll- und Ablaufverfolgungsereignissen festlegen

Sie können den Umfang der in der Ereignistabelle gespeicherten Daten zu Protokoll- und Ablaufverfolgungsereignissen verwalten, indem Sie den Protokolliergrad oder die Ablaufverfolgungsebene einstellen. Verwenden Sie diese Einstellungen vor dem Start der Protokollierung oder Ablaufverfolgung, um sicherzustellen, dass Sie den gewünschten Umfang und die gewünschte Art von Daten erfassen.