Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Wenn Sie eine Prozedur für den Benachrichtigungs-Handler eines Scheduler-Jobs hinzufügen, können Sie geplante oder automatisierte Jobs überwachen, die in Autonomous Database ausgeführt werden.
- Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Der Database Scheduler unterstützt die Prozedur für Jobbenachrichtigungs-Handler, die benutzerdefinierten Code zum Aufrufen von HTTP- oder REST-Endpunkten verwenden kann, um das Monitoring von Scheduler-Jobs in einer Autonomous Database-Instanz zu verbessern. - Prozedur für Jobbenachrichtigungs-Handler erstellen
Bietet Schritte zum Erstellen eines Jobbenachrichtigungs-Handlers. - Benachrichtigungsprozedur für Job-Handler registrieren
Verwenden Sie die ProzedurDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, um den AttributwertJOB_NOTIFICATION_HANDLER
festzulegen, um die Benachrichtigungsprozedur für Job-Handler zu registrieren. - Benachrichtigungsprozedur für Job-Handler auslösen
Sie müssen die ProzedurDBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
aufrufen, um die benutzerdefinierte Benachrichtigungs-Handler-Prozedur für Jobs auszulösen. - Benachrichtigungsprozedur für Job Handler aufheben
MitDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
können Sie die Registrierung der Benachrichtigungsprozedur für Job Handler aufheben.
Übergeordnetes Thema: Entwickeln
Benutzerdefinierte Benachrichtigungs-Handler für Scheduler-Jobs
Der Database Scheduler unterstützt die Prozedur für den Jobbenachrichtigungs-Handler, die benutzerdefinierten Code zum Aufrufen von HTTP- oder REST-Endpunkten verwenden kann, um die Überwachung von Scheduler-Jobs in einer Autonomous Database-Instanz zu verbessern.
Die Handler-Prozedur empfängt alle relevanten Informationen zum Job, wie den Namen des Job-Eigentümers, den Klassennamen, den Ereignistyp und den Zeitstempel im JSON-Format. Basierend auf den Informationen führt die Handler-Prozedur dann die erforderliche Aktion aus.
Weitere Informationen zu Oracle Scheduler finden Sie unter DBMS_SCHEDULER.
Die Konfiguration eines benutzerdefinierten Benachrichtigungs-Handlers für Scheduler-Jobs umfasst die folgenden Schritte:
-
Erstellen Sie eine Jobbenachrichtigungs-Handler-Prozedur wie unter Prozedur für Jobbenachrichtigungs-Handler erstellen beschrieben.
-
Registrieren Sie die Jobbenachrichtigungs-Handler-Prozedur für die Datenbank, wie unter Benachrichtigungsprozedur für Job-Handler registrieren beschrieben.
-
Lösen Sie die Prozedur für den Jobbenachrichtigungs-Handler aus, wie unter Benachrichtigungsprozedur für Job-Handler auslösen beschrieben.
-
Heben Sie die Registrierung der Jobbenachrichtigungs-Handler-Prozedur für die Datenbank auf, wie unter Benachrichtigungsprozedur für Job-Handler aufheben beschrieben.
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Job Notification Handler-Prozedur erstellen
Enthält Schritte zum Erstellen eines Jobbenachrichtigungs-Handlers.
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Benachrichtigungsprozedur für Job Handler registrieren
Verwenden Sie die Prozedur DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, um den Attributwert JOB_NOTIFICATION_HANDLER
festzulegen, um die Benachrichtigungsprozedur des Job Handlers zu registrieren.
Das Attribut JOB_NOTIFICATION_HANDLER
gibt die Benachrichtigungsprozedur für den Job-Handler an, die Sie verwenden möchten.
-
Sie müssen als ADMIN-Benutzer angemeldet sein oder über die Berechtigung
MANAGE SCHEDULER
verfügen. -
Sie verfügen über die Berechtigung
EXECUTE
für die Handler-Prozedur oder die SystemberechtigungEXECUTE ANY PROCEDURE
.
Das Attribut JOB_NOTIFICATION_HANDLER
und das Attribut EMAIL_SERVER
schließen sich gegenseitig aus. Der Parameter ATTRIBUTE
der Prozedur SET_SCHEDULER_ATTRIBUTE
kann jeweils den Wert JOB_NOTIFICATION_HANDLER
oder EMAIL_SERVER
aufweisen. Sie können E-Mail-Benachrichtigungen konfigurieren oder Ihren Benachrichtigungs-Handler für Ihre Scheduler-Jobs erstellen.
Wenn Sie versuchen, globale Attribute EMAIL_SERVER
und JOB_NOTIFICATION_HANDLER
festzulegen, wird ein ORA-27488
-Fehler ausgelöst.
Führen Sie die Prozedur DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
aus, um die Benachrichtigungsprozedur des Job Handlers zu registrieren:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('job_notification_handler','ADMIN.SEND_NOTIFICATION');
END;
/
In diesem Beispiel wird die Prozedur ADMIN.SEND_NOTIFICATION
als Benachrichtigungsprozedur für den Job Handler für die Datenbank registriert.
Weitere Informationen finden Sie unter Prozedur SET_SCHEDULER_ATTRIBUTE.
Führen Sie diesen Befehl aus, um den Job Notification Handler zu prüfen:
SELECT value FROM dba_scheduler_global_attribute WHERE attribute_name='JOB_NOTIFICATION_HANDLER';
VALUE
---------------
"ADMIN"."SEND_NOTIFICATION"
Weitere Informationen finden Sie unter DBA_SCHEDULER_GLOBAL_ATTRIBUTE.
Sie müssen die Berechtigung EXECUTE
zuweisen, damit andere Benutzer den Jobbenachrichtigungs-Handler verwenden können. Beispiele:
GRANT EXECUTE ON ADMIN.SEND_NOTIFICATION To DWUSER;
Der Fehler ORA-27476 ("\"%s\".\"%s\" does not exist")
oder ORA-27486 ("insufficient privileges")
wird ausgelöst, wenn Sie keine Berechtigung für die Benachrichtigungsprozedur des Job Handlers haben.
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Job Handler-Benachrichtigungsprozedur auslösen
Sie müssen die Prozedur DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
aufrufen, um die benutzerdefinierte Jobbenachrichtigungs-Handler-Prozedur auszulösen.
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
können Sie die Jobbenachrichtigungs-Handler-Prozedur auslösen und eine Benachrichtigung senden. Diese Benachrichtigungen werden jedoch nicht in Form einer E-Mail gesendet, wenn Sie die Job Notification Handler-Prozedur registriert haben. Daher sind die Parameter SUBJECT
und BODY
optional. Der Parameter RECIPIENT
ist weiterhin obligatorisch. Da diese überladene Prozedur keine E-Mail-Benachrichtigungen sendet, können Sie einen beliebigen Zeichenfolgenwert für den Parameter RECIPIENT
angeben.
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Benachrichtigungsprozedur für Job Handler deaktivieren
Verwenden Sie DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, um die Registrierung der Benachrichtigungsprozedur für den Job Handler aufzuheben.
MANAGE SCHEDULER
verfügen.
Beispiel zum Aufheben der Registrierung der Benachrichtigungsprozedur für den Job Handler:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE ('job_notification_handler','');
END;
/
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs