Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Painel
titleNavegue por aqui!

Índice
maxLevel2

É possível configurar o envio de e-mail para notificação sobre o estado das execuções dos schedules no banco de dados Oracle, assim, permitindo o monitoramento e que ações preventivas ou corretivas sejam executadas em caso de problemas. Para o envio dessas notificações por e-mail, é necessário realizar as configurações definidas pelo fabricante do banco de dados para os schedules desejados.

...

  • Definir as regras de ACL (Network Access Control List) no banco de dados para o usuário onde os schedules foram criados.
  • Ter os privilégios no banco de dados necessários para administração de schedules.
  • As notificações por e-mail são configuradas por scheduler utilizando o pacote DBMS_SCHEDULER.

01. CONFIGURANDO O SCHEDULER

...

Após adicionarmos as configurações de SMTP necessárias, podemos então adicionar as notificações ao scheduler. Uma notificação por e-mail é associada a uma tarefa agendada (scheduler) usando o procedimento DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATIONPodemos adicionar várias notificações a um scheduler, variando os destinatários e também os eventos associados para disparo dos e-mails. O título e o corpo do texto na notificação por e-mail podem ser personalizados usando diversas variáveis ​​que são identificadas usando o formato "%variable-name%". Os valores padrão dos parâmetros "Subject" e "Body" fornecem muitas informações, ficando opcional portanto, sua personalização.

O parâmetro "events" determina quais eventos de trabalho disparam uma notificação, enquanto o parâmetro "filer_condition"pode reduzir as notificações filtrando os eventos que não atendem a critérios específicos, com base no tipo de objeto SCHEDULER$_EVENT_INFO. É possível também definir um endereço de remetente para cada notificação, usando o parâmetro “sender”. Quando este for informado, substituirá o parâmetro “email_sender” se também configurado diretamente no scheduler.

...

Bloco de código
languagesql
BEGIN
 DBMS_SCHEDULER.add_job_email_notification (
  job_name   => 'teste_notificação_schedule',
  recipients => ‘destinatario@empresa'destinatario@empresa.com.br',
  events     => 'job_started, job_succeeded');
END;
/

...

Bloco de código
languagesql
BEGIN
 DBMS_SCHEDULER.add_job_email_notification (
  job_name         => 'teste_notificação_schedule',
  recipients       => ‘destinatario@empresa'destinatario@empresa.com.br',
  evento           => 'job_failed',
  filter_condition => ':event.error_code=600');
END;
/

...

Bloco de código
languagesql
BEGIN
 DBMS_SCHEDULER.remove_job_email_notification (
  job_name   => 'teste_notificação_job',
  recipients => ‘destinatario@empresa'destinatario@empresa.com.br',
  evento     => 'job_succeeded');
END;
/

...