Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
A adição de um procedimento de handler de notificação de job do scheduler permite monitorar jobs programados ou automatizados em execução no seu Autonomous Database.
- Sobre o Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
O Scheduler de Banco de Dados suporta o procedimento do handler de notificação de job que pode usar código personalizado para chamar pontos finais HTTP ou REST para melhor monitoramento de jobs do scheduler em uma instância do Autonomous Database. - Criar um Procedimento de Handler de Notificação de Job
Fornece etapas para criar um handler de notificação de job. - Registrar o Procedimento de Notificação do Handler de Job
Use o procedimentoDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
para definir o valor do atributoJOB_NOTIFICATION_HANDLER
para registrar o procedimento de notificação do handler de job. - Acionar o Procedimento de Notificação do Handler de Job
Você deve chamar o procedimentoDBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
para acionar o procedimento do handler de notificação de job definido pelo usuário. - Cancelar Registro do Procedimento de Notificação do Handler de Job
UseDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
para cancelar o registro do procedimento de notificação do handler de job.
Tópico principal: Desenvolver
Sobre o Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
O Database Scheduler suporta o procedimento de handler de notificação de job que pode usar código personalizado para chamar pontos finais HTTP ou REST para melhor monitoramento de jobs do scheduler em uma instância do Autonomous Database.
O procedimento do handler recebe todas as informações pertinentes relacionadas ao job, como nome do proprietário do job, nome da classe, tipo de evento e timestamp no formato JSON. Com base nas informações, o procedimento do handler executa a ação necessária.
Consulte DBMS_SCHEDULER para obter mais informações sobre o Oracle Scheduler.
A configuração do handler de notificação definido pelo usuário para jobs do scheduler consiste nestas etapas:
-
Crie um procedimento de handler de notificação de job conforme descrito em: Criar um Procedimento de Handler de Notificação de Job.
-
Registre o procedimento do handler de notificação de job para o banco de dados conforme descrito em: Registre o Procedimento de Notificação do Handler de Job.
-
Acionar o procedimento do handler de notificação de job conforme descrito em: Acionar o Procedimento de Notificação do Handler de Job
-
Cancelar o registro do procedimento do handler de notificação de job para o banco de dados conforme descrito em: Cancelar o Registro do Procedimento de Notificação do Handler de Job.
Tópico principal: Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
Criar um Procedimento de Handler de Notificação de Tarefa
Fornece etapas para criar um handler de notificação de job.
Tópico principal: Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
Registrar o Procedimento de Notificação do Processador de Tarefas
Use o procedimento DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
para definir o valor do atributo JOB_NOTIFICATION_HANDLER
para registrar o procedimento de notificação do handler de job.
O atributo JOB_NOTIFICATION_HANDLER
especifica o procedimento de notificação do handler de job que você deseja usar.
-
Esteja conectado como o usuário ADMIN ou tenha o privilégio
MANAGE SCHEDULER
. -
Tenha o privilégio
EXECUTE
no procedimento do handler ou no privilégio de sistemaEXECUTE ANY PROCEDURE
.
O atributo JOB_NOTIFICATION_HANDLER
e o atributo EMAIL_SERVER
são mutuamente exclusivos. O parâmetro ATTRIBUTE
do procedimento SET_SCHEDULER_ATTRIBUTE
pode ter o valor JOB_NOTIFICATION_HANDLER
ou EMAIL_SERVER
por vez. Você tem permissão para configurar notificações por e-mail ou criar seu handler de notificação para seus jobs do scheduler.
Um erro ORA-27488
é gerado quando você tenta definir os atributos globais EMAIL_SERVER
e JOB_NOTIFICATION_HANDLER
.
Execute o procedimento DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
para registrar o procedimento de notificação do handler de job:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('job_notification_handler','ADMIN.SEND_NOTIFICATION');
END;
/
Este exemplo registra o procedimento ADMIN.SEND_NOTIFICATION
como o procedimento de notificação do handler de job para seu banco de dados.
Consulte SET_SCHEDULER_ATTRIBUTE Procedimento para obter mais informações.
Execute este comando para verificar o handler de notificação de job:
SELECT value FROM dba_scheduler_global_attribute WHERE attribute_name='JOB_NOTIFICATION_HANDLER';
VALUE
---------------
"ADMIN"."SEND_NOTIFICATION"
Consulte DBA_SCHEDULER_GLOBAL_ATTRIBUTE para obter mais informações.
Você deve designar o privilégio EXECUTE
para permitir que outros usuários usem o handler de notificação de job. Por exemplo:
GRANT EXECUTE ON ADMIN.SEND_NOTIFICATION To DWUSER;
O erro ORA-27476 ("\"%s\".\"%s\" does not exist")
ou ORA-27486 ("insufficient privileges")
será gerado se você não tiver privilégio no procedimento de notificação do handler de job.
Tópico principal: Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
Acionar o Procedimento de Notificação do Processador de Tarefas
Você deve chamar o procedimento DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
para acionar o procedimento do handler de notificação de job definido pelo usuário.
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
permite acionar o procedimento do handler de notificação de job e enviar uma notificação. No entanto, essas notificações não são enviadas na forma de um e-mail quando você registrou o procedimento do handler de notificação de job. Portanto, os parâmetros SUBJECT
e BODY
são opcionais. O parâmetro RECIPIENT
ainda é obrigatório. Como essa forma de procedimento sobrecarregada não está enviando notificações por e-mail, você pode fornecer qualquer valor de string para o parâmetro RECIPIENT
.
Tópico principal: Handler de Notificação Definido pelo Usuário para Jobs do Scheduler
Cancelar o Registro do Procedimento de Notificação do Processador de Tarefas
Use DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
para cancelar o registro do procedimento de notificação do handler de job.
MANAGE SCHEDULER
.
Exemplo para cancelar o registro do procedimento de notificação do processador de cargos:
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE ('job_notification_handler','');
END;
/
Tópico principal: Handler de Notificação Definido pelo Usuário para Jobs do Scheduler