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):
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;
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:
OWNERSHIP-Berechtigung für das Konto.
OWNERSHIP- oder INSERT-Berechtigungen für die Ereignistabelle.
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;
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;
Sie können den EVENT_TABLE-Wert mit dem Befehl SHOW PARAMETERS bestätigen:
SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;
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.
Wenn Sie beabsichtigen, Meldungen zu protokollieren, können Sie Schwellenwerte für den Schweregrad der Protokollmeldung festlegen, wie unter Einstellen des Protokolliergrads beschrieben.
Wenn Sie beabsichtigen, Ereignisse zu verfolgen, können Sie die Ausführlichkeit der Ereignisdaten einstellen, wie unter Einstellen des Protokolliergrads (Ablaufverfolgungsebene) beschrieben.