In jeder halbwegs professionellen Oracle-Umgebung wird man früher oder später über regelmäßige Tasks stoßen, die man auf der Datenbank ausführt, eingebunden via Scheduled Jobs.

Nun ist es natürlich auf Dauer lästig bis nervig nur in der Datenbank selbst nachzuschauen, ob Job abc gestartet, erfolgreich beendet oder versagt hat – deutlich geschmeidiger geht es mit einer entsprechenden
Email-Benachrichtigung!

Oracle hat eine passende Funktion zwar nicht direkt nach der Installation parat, stellt sie aber netterweise aus eigenem Haus zur Verfügung: sys.email_notification_procedure

Um das wichtigste vornweg zunehmen – hier geht’s direkt zum Download

Den in der Zip-Datei enthaltenen SQL – job_notification.sql – einfach in der Datenbank ausführen (Als sys! SMTP-Server & -Port müssen übergeben werden ), danach stehen einem jedem DBA direkt die Möglichkeiten zur Verfügung, zu jedem Job eine Mail zu versenden.

Wie? Schwer einfach:

execute add_job_email_notification('SCHMEA.MEIN_JOB',
'empfaenger@mail.de,empfaenger2@mail.de.de',
'JOB_FAILED',
'absender@mail.de')

Anstatt des Parameters JOB_FAILED bieten sich natürlich auch noch einige andere Raise Events an, die sinnvollsten sollten wohl sein JOB_STARTED, JOB_SUCCEEDED oder direkt das volle Programm – JOB_ALL_EVENTS. Mehr Info geht nicht… ;-)

Falls die Email-Benachrichtigung eines Tages gewaltig nervt und man nicht jede mühsam einzeln löschen (“execute remove_job_email_notification(‘SCHEMA.MEIN_JOB’)“) will – dem o.g. Zip-Archiv liegt eine remove_job_notification bei, ausführen und Ruh’ is’ …