Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Durch das Hinzufügen einer Scheduler-Jobbenachrichtigungs-Handler-Prozedur 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 den Jobbenachrichtigungs-Handler, die benutzerdefinierten Code zum Aufrufen von HTTP- oder REST-Endpunkten für ein verbessertes Monitoring von Scheduler-Jobs in einer Autonomous Database-Instanz verwenden kann. - Prozedur "Jobbenachrichtigungs-Handler erstellen"
Gibt Schritte zum Erstellen eines Jobbenachrichtigungs-Handlers an. - Prozedur für Job-Handler-Benachrichtigungen registrieren
Mit der ProzedurDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
können Sie den AttributwertJOB_NOTIFICATION_HANDLER
festlegen, um die Prozedur für die Job-Handler-Benachrichtigung zu registrieren. - Prozedur "Job Handler-Benachrichtigung auslösen"
Sie müssen die ProzedurDBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
aufrufen, um die benutzerdefinierte Prozedur für den Jobbenachrichtigungs-Handler auszulösen. - Registrierung der Job Handler-Benachrichtigungsprozedur aufheben
MitDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
können Sie die Registrierung der Job Handler-Benachrichtigungsprozedur aufheben.
Übergeordnetes Thema: Entwickeln
Benutzerdefinierter 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 das Monitoring von Scheduler-Jobs in einer Autonomous Database-Instanz zu verbessern.
Die Handler-Prozedur erhält alle relevanten Informationen zum Job, wie Name, Klassenname, Ereignistyp und Zeitstempel des Jobverantwortlichen 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 des benutzerdefinierten Benachrichtigungs-Handlers für Scheduler-Jobs umfasst folgende Schritte:
-
Erstellen Sie eine Prozedur für den Jobbenachrichtigungs-Handler, wie unter Prozedur "Jobbenachrichtigungs-Handler erstellen" beschrieben.
-
Registrieren Sie die Prozedur des Jobbenachrichtigungs-Handlers für die Datenbank, wie unter Prozedur für Job-Handler-Benachrichtigungen registrieren beschrieben.
-
Trigger für die Prozedur des Jobbenachrichtigungs-Handlers, wie unter Prozedur "Job-Handler-Benachrichtigung auslösen" beschrieben
-
Heben Sie die Registrierung der Jobbenachrichtigungs-Handler-Prozedur für die Datenbank auf, wie unter Prozedur "Job-Handler-Benachrichtigung registrieren" beschrieben.
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Prozedur "Job Notification Handler erstellen"
Bietet Schritte zum Erstellen eines Jobbenachrichtigungs-Handlers.
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs
Job Handler-Benachrichtigungsprozedur 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 Job Handler-Benachrichtigungsprozedur an, die Sie verwenden möchten.
-
Melden Sie sich als ADMIN-Benutzer an, oder haben Sie die Berechtigung
MANAGE SCHEDULER
. -
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 entweder den Wert JOB_NOTIFICATION_HANDLER
oder den Wert EMAIL_SERVER
gleichzeitig enthalten. Sie können entweder 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 Job Handler-Benachrichtigungsprozedur für Ihre 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. Beispiel:
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
Prozedur für Job Handler-Benachrichtigungen 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 Prozedur des Jobbenachrichtigungs-Handlers auslösen und eine Benachrichtigung senden. Diese Benachrichtigungen werden jedoch nicht in Form einer E-Mail gesendet, wenn Sie die Prozedur für den Jobbenachrichtigungs-Handler registriert haben. Daher sind die Parameter SUBJECT
und BODY
optional. Der Parameter RECIPIENT
ist weiterhin erforderlich. 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
Registrierung der Benachrichtigungsprozedur für Job-Handler aufheben
Verwenden Sie DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, um die Registrierung der Job Handler-Benachrichtigungsprozedur aufzuheben.
MANAGE SCHEDULER
verfügen.
Beispiel zum Aufheben der Registrierung der Job Handler-Benachrichtigungsprozedur:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE ('job_notification_handler','');
END;
/
Übergeordnetes Thema: Benutzerdefinierter Benachrichtigungs-Handler für Scheduler-Jobs