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 automatizzati 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 handler 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. - Attivazione della 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. - De-registrare la procedura di 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 database supporta la procedura dell'handler di notifiche dei job che può utilizzare il codice personalizzato per chiamare gli endpoint HTTP o REST per un monitoraggio migliorato dei job dello scheduler in un'istanza di Autonomous Database.
La procedura di gestione 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 consiste nei passi riportati di seguito.
-
Creare una procedura di handler delle notifiche di job come descritto in Creare una procedura di handler delle notifiche di job.
-
Registrare la procedura dell'handler di notifiche job per il database come descritto in Registrare la procedura di notifica dell'handler job.
-
Attivare la procedura di gestione delle notifiche job come descritto in: Attivare la procedura di notifica dell'handler job
-
Annullare la registrazione della procedura dell'handler di notifiche job per il database come descritto in: Annullare la registrazione della procedura di notifica dell'handler 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
. -
Avere il privilegio
EXECUTE
sulla procedura dell'handler 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
. Si è autorizzati a configurare le notifiche e-mail o a creare l'handler di notifiche per i job scheduler.
Viene generato un errore ORA-27488
quando si tenta di impostare gli attributi globali EMAIL_SERVER
e 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 Procedure.
Eseguire questo comando per verificare l'handler di notifiche del job:
SELECT value FROM dba_scheduler_global_attribute WHERE attribute_name='JOB_NOTIFICATION_HANDLER';
VALUE
---------------
"ADMIN"."SEND_NOTIFICATION"
Per ulteriori informazioni, vedere DBA_SCHEDULER_GLOBAL_ATTRIBUTE.
È necessario assegnare il privilegio EXECUTE
per consentire ad altri utenti di utilizzare l'handler di notifiche dei 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 del privilegio per la procedura di notifica dell'handler di job.
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler
Attiva la procedura di notifica dell'handler di job
È necessario chiamare la procedura DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
per attivare la procedura dell'handler di notifiche del job definito dall'utente.
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
consente di attivare la procedura di gestione delle notifiche del job e di inviare una notifica. Tuttavia, queste notifiche non vengono inviate sotto forma di e-mail quando si è registrata la procedura di gestione delle notifiche del 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 stringa per il parametro RECIPIENT
.
Argomento padre: handler di notifiche definito dall'utente per i processi scheduler
Annulla registrazione della procedura di 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 per annullare la 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