Handler di notifiche definito dall'utente per i processi scheduler
L'aggiunta di una procedura di handler delle notifiche dei job dello scheduler consente di monitorare i job pianificati o automatici in esecuzione in Autonomous Database.
- Informazioni sull'handler di notifiche definito dall'utente per i job dello scheduler
Lo scheduler di database supporta la procedura dell'handler di notifiche dei job che può utilizzare il codice personalizzato per chiamare gli endpoint HTTP o REST per migliorare il monitoraggio dei job dello scheduler in un'istanza di Autonomous Database. - Procedura Crea un handler di notifiche job
Fornisce i passi per creare un handler di notifiche job. - Registrare la procedura di notifica dell'handler di job
Utilizzare la proceduraDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
per impostare il valore dell'attributoJOB_NOTIFICATION_HANDLER
per registrare la procedura di notifica dell'handler di job. - Attivare la procedura di notifica dell'handler di job
È necessario chiamare la proceduraDBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
per attivare la procedura dell'handler di notifiche di job definito dall'utente. - Procedura di annullamento della registrazione della notifica dell'handler di job
UtilizzareDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
per annullare la registrazione della procedura di notifica dell'handler di job.
Argomento padre: Sviluppa
Informazioni sull'handler di notifiche definito dall'utente per i processi scheduler
Lo scheduler del database supporta la procedura dell'handler di notifiche dei job che può utilizzare il codice personalizzato per chiamare gli endpoint HTTP o REST per migliorare il monitoraggio dei job dello scheduler in un'istanza di Autonomous Database.
La procedura handler riceve tutte le informazioni pertinenti relative al job, ad esempio il nome del proprietario del job, il nome della classe, il tipo di evento e l'indicatore orario in formato JSON. In base alle informazioni, la procedura del gestore esegue quindi l'azione richiesta.
Per ulteriori informazioni su Oracle Scheduler, vedere DBMS_SCHEDULER.
La configurazione dell'handler di notifiche definito dall'utente per i job dello scheduler è costituita dai passi riportati di seguito.
-
Creare una procedura dell'handler di notifiche job come descritto in: Procedura Crea un handler di notifiche job.
-
Registrare la procedura dell'handler di notifiche job per il database come descritto nella sezione Registrare la procedura di notifica dell'handler di job.
-
Attivare la procedura dell'handler di notifiche job come descritto in: Attivare la procedura di notifica dell'handler di job
-
Annullare la registrazione della procedura dell'handler di notifiche job per il database come descritto nella sezione Annullare la registrazione della procedura di notifica dell'handler di job.
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler
Procedura di creazione di un handler di notifiche job
Fornisce i passi per creare un handler di notifiche job.
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler
Registrazione della procedura di notifica dell'handler di job
Utilizzare la procedura DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
per impostare il valore dell'attributo JOB_NOTIFICATION_HANDLER
per registrare la procedura di notifica dell'handler di job.
L'attributo JOB_NOTIFICATION_HANDLER
specifica la procedura di notifica dell'handler di job che si desidera utilizzare.
-
Eseguire il login come utente ADMIN o disporre del privilegio
MANAGE SCHEDULER
. -
Disporre del privilegio
EXECUTE
sulla procedura del gestore o sul privilegio di sistemaEXECUTE ANY PROCEDURE
.
Gli attributi JOB_NOTIFICATION_HANDLER
e EMAIL_SERVER
si escludono a vicenda. Il parametro ATTRIBUTE
della procedura SET_SCHEDULER_ATTRIBUTE
può avere contemporaneamente il valore JOB_NOTIFICATION_HANDLER
o EMAIL_SERVER
. È possibile configurare le notifiche e-mail o creare l'handler di notifiche per i job dello scheduler.
Viene generato un errore ORA-27488
quando si tenta di impostare sia gli attributi globali EMAIL_SERVER
che JOB_NOTIFICATION_HANDLER
.
Eseguire la procedura DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
per registrare la procedura di notifica dell'handler di job:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('job_notification_handler','ADMIN.SEND_NOTIFICATION');
END;
/
In questo esempio viene registrata la procedura ADMIN.SEND_NOTIFICATION
come procedura di notifica dell'handler di job per il database.
Per ulteriori informazioni, vedere SET_SCHEDULER_ATTRIBUTE Procedura.
Eseguire questo comando per verificare l'handler di notifiche job:
SELECT value FROM dba_scheduler_global_attribute WHERE attribute_name='JOB_NOTIFICATION_HANDLER';
VALUE
---------------
"ADMIN"."SEND_NOTIFICATION"
Vedere DBA_SCHEDULER_GLOBAL_ATTRIBUTE.
È necessario assegnare il privilegio EXECUTE
per consentire ad altri utenti di utilizzare l'handler di notifiche job. Ad esempio:
GRANT EXECUTE ON ADMIN.SEND_NOTIFICATION To DWUSER;
Viene restituito un errore ORA-27476 ("\"%s\".\"%s\" does not exist")
o ORA-27486 ("insufficient privileges")
se non si dispone dei privilegi per la procedura di notifica dell'handler di job.
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler
Procedura di attivazione della notifica dell'handler di job
È necessario chiamare la procedura DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
per attivare la procedura dell'handler di notifiche job definito dall'utente.
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
consente di attivare la procedura dell'handler di notifiche job e di inviare una notifica. Tuttavia, queste notifiche non vengono inviate sotto forma di e-mail quando si è registrata la procedura del gestore delle notifiche di job. Pertanto, i parametri SUBJECT
e BODY
sono facoltativi. Il parametro RECIPIENT
è ancora obbligatorio. Poiché questo modulo di procedura sovraccarico non invia notifiche e-mail, è possibile fornire qualsiasi valore di stringa per il parametro RECIPIENT
.
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler
Procedura di annullamento della registrazione della notifica dell'handler di job
Utilizzare DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
per annullare la registrazione della procedura di notifica dell'handler di job.
MANAGE SCHEDULER
.
Esempio di annullamento della registrazione della procedura di notifica dell'handler di job:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE ('job_notification_handler','');
END;
/
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler