0

我正在尝试创建通知以在工作中断时发送电子邮件。这是工作:

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;

有人可以通过这个告诉我我在哪里犯错吗?

4

0 回答 0