Oracle отправляет электронную почту, когда dbms_job не работает

Я пытаюсь создать уведомление для отправки электронной почты, когда работа не работает. Это работа:

declare
   jobno number;
begin
   dbms_job.submit( jobno,
                   'test_job_procedure;',
                    SYSDATE,
                    'SYSDATE + 1/24 /12');
                    commit;
end;

Это конфигурация учетных данных:

    BEGIN
    DBMS_SCHEDULER.create_credential (credential_name   => 'MAILSERVER_CREDENTIAL',
    username          => 'test@gmail.com',
    password          => 'test');
    END;

    BEGIN
    DBMS_SCHEDULER.set_scheduler_attribute ('email_server', 'smtp.gmail.com:587');
    DBMS_SCHEDULER.set_scheduler_attribute ('email_sender', 'test@gmail.com');
    DBMS_SCHEDULER.set_scheduler_attribute ('email_server_credential', 'MAILSERVER_CRED

ENTIAL');
END;

И это планировщик уведомлений по электронной почте: вместо того, что было job_name, но в именах заданий dbms_job есть числа, которые не согласованы, когда я перезапускаю задание, оно получает новый номер, поэтому я ставлю WHAT как то, что распознает это задание. Я не знаю, может ли это работать, потому что я получаю ошибку в конце, но в любом случае, когда я запускаю этот выбор

SELECT *
  FROM all_scheduler_global_attribute

Я получаю эти результаты https://imgur.com/a/FnQJ7

И это уведомление о работе по электронной почте:

BEGIN
 DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION (
  what   =>  'test_job_procedure',
  recipients =>  'test1@gmail.com',
  sender     =>  'test@gmail.com',
  subject    =>  'Scheduler Job Notification',
  body       =>   '%event_type% occurred at %event_timestamp%. %error_message%',
  events     =>  'JOB_FAILED, JOB_BROKEN');
END;

Может кто-нибудь пройти через это и сказать мне, где я делаю ошибки?

0 ответов

Другие вопросы по тегам