Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Atualmente é possível fazer o envio de e-mails para notificações sobre as execuções de Schedules no banco de dados Oracle. Para o envio dessas notificações precisamos realizar algumas configurações no schedule. Para isso algumas premissas precisam ser consideradas.

PREMISSAS

  • Definir as regras para Network Access Control List - ACL para o usuário onde o Schedule será configurado para execução.
  • Definir os privilégios necessários de execução e manipulação das rotinas relacionadas às configurações dos schedules;

As notificações por e-mail são configuradas por schedule e para isso contamos com procedimentos disponibilizados no pacote DBMS_SCHEDULER.

01. Configurando o Schedule

O primeiro passo na configuração é informar na tarefa agendada qual servidor SMTP será usado para enviar os e-mails. Você também pode definir, opcionalmente, um endereço de remetente padrão, que será usado caso o parâmetro “sender”  não tenha sido especificado na notificação, que também possui um atributo para configuração de remetente. Mostraremos estas opções no próximo tópico - Adicionando Notificações a um Schedule.

...

BEGIN
  DBMS_SCHEDULER.set_scheduler_attribute('email_server', 'smtp.dominio.com:25');
  DBMS_SCHEDULER.set_scheduler_attribute('email_sender', 'do_not_reply@dominio.com');
END;
/

02. Adicionando Notificações a um Schedule

Após adicionarmos as informações necessárias, podemos adicionar as notificações ao Schedule. Uma notificação por email é associada a uma tarefa agendada usando o procedimento ADD_JOB_EMAIL_NOTIFICATION. Podemos adicionar várias notificações a um schedule, variando os destinatários e também os eventos associados para disparo dos e-mails.

...

Para consultar as notificações configuradas utilizamos a tabela no usuário USER_SCHEDULER_NOTIFICATIONS.

01. Removendo Notificações de um Schedule


As notificações por email são removidas usando o procedimento REMOVE_JOB_EMAIL_NOTIFICATION . Além do parâmetro “job_name” - obrigatório, aceita também que sejam informados os parâmetros “recipients” e “events”. Em ambos os casos, se estes forem definidos como NULL (os valores padrão), presume-se que as notificações para todos os destinatários/eventos do Schedule específico devem ser removidas. Os exemplos abaixo mostram a remoção de uma notificação de evento específica e de todas as notificações de um Schedule específico.

...