Árvore de páginas

Versões comparadas

Chave

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

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

Este documento tem como objetivo apresentar a uma abordagem inicial do mecanismo nativo do banco de dados e descrever os passos básicos para ativação do monitoramento de schedules utilizando este mecanismo. Por se tratar de uma atividade administrativa, envolvendo configurações e liberações no banco de dados, recomenda-se que a configuração seja realizada por ou sob orientações do DBA responsável pela administração do ambiente.

Informações

Para mais informações sobre o recurso, acesse consulte a documentação oficial do fabricante do banco de dados.

PREMISSAS

  • Definir as regras para de ACL (Network Access Control List ACL no ) no banco de dados para o usuário onde o Schedule será configurado para execuçãoos schedules foram criados.
  • Definir Ter os privilégios no banco de dados necessários de execução e manipulação das rotinas relacionadas às configurações dos schedules;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

O primeiro passo na para configuração do mecanismo de notificação é informar na tarefa agendada desejada (scheduler) 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”  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 ScheduleScheduler.

Para configurar os dados de notificação na schedule usamos o procedimento “SET DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE.

_ATTRIBUTE”, do pacote DBMS_SCHEDULER. Este procedimento possibilita a mudança de vários atributos do Schedulescheduler, porém, o foco neste momento são os itens referentes ao envio de e-mails para as notificações. São eles:

AtributoDescrição

...

email_server

...

Endereço do servidor SMTP usado para enviar os e-mails quando os eventos configurados para disparo forem atingidos. As notificações por e-mails não poderão ser enviadas se este atributo estiver com o valor padrão “NULL”.

...

email_sender

...

Endereço de e-mail configurado como remetente padrão para o disparo das notificações que não informarem um remetente. Caso este parâmetro não seja configurado e a notificação configurada também não possua um remetente, o campo remetente do e-mail será enviado em branco.

...

email_server_credential

...

Schema e nome da credencial existente, onde SYS tenha privilégios de execução neste objeto. O padrão para este atributo é “NULL”, ou seja, nenhuma credencial informada para uso. Caso o servidor exija credenciais para o envio de e-mails, este atributo deverá ser configurado. O nome de usuário e senha configurados nesta credencial serão usados para autenticação no servidor de e-mail informado durante a comunicação. 

...

email_server_encryption

...

Este atributo possibilita a configuração do uso ou não da criptografia pela conexão ao servidor de envio de e-mail. Caso o servidor de envio dos e-mails exija a criptografia, este atributo deverá ser configurado com a opção adequada à necessidade do servidor. Valores possíveis para o atributo:

    • NONE: Valor padrão. Indica a não utilização de criptografia para a conexão

...

    • SSL_TLS: Indica o uso de

...

    • criptografia SSL ou TLS, desde o início da conexão

...

    • STARTTLS: Indica que a conexão inicia sem criptografia, mas começa a ser utilizada a partir do recebimento do comando STARTTLS

...

    • pelo servidor SMTP

...

Abaixo, temos um exemplo da chamada do procedimento para definir as propriedades email_server e email_sender.

Bloco de código
languagesql
BEGIN
  DBMS

Para informações mais detalhadas sobre o procedimento, sugerimos uma consulta ao link da documentação oficial de uso.

Segue abaixo a sintaxe padrão do procedimento SET_SCHEDULER_ATTRIBUTE:

...

DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE (
   attribute      IN VARCHAR2,
   value          IN VARCHAR2);

Exemplo de utilização:

...

_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

...

É 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 Schedule.

Sintaxe padrão ADD_JOB_NOTIFICATION:

...

.

...

...

A notificação do exemplo a seguir é acionada quando o Schedule é iniciado ou finalizado de forma bem-sucedida. Ele usa o assunto (Subject) e o corpo (Body) padrão.

Bloco de código
languagesql
BEGIN

...


 DBMS_SCHEDULER.add_job_email_notification (

...


  job_name =

...

'teste_notificação_schedule',

...


  recipients => 

...

 ‘destinatario@empresa.com',,

...


  events => 'job_started, job_succeeded');

...


END;

...


/


A notificação a seguir será acionada somente se um Schedule falhar com um código de erro "600".

...