我在向 Oracle 11g (11.2.0.1.0) 添加电子邮件通知时遇到问题。这似乎是一个错误,但我真的不确定。我已经尝试使用 SQL Developer 来构建代码以及来自 Internet 的示例,但它不起作用。
我可以很容易地创建和启用工作:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => '"SCHEMA"."test1"',
job_type => 'PLSQL_BLOCK',
job_action => 'begin
null;
end;
',
auto_drop => FALSE
);
DBMS_SCHEDULER.enable(
name => '"SCHEMA"."test1"');
END;
/
匿名块完成
作为预防措施,我删除了工作电子邮件通知 - 这很有效。
BEGIN
DBMS_SCHEDULER.REMOVE_JOB_EMAIL_NOTIFICATION (
job_name => '"SCHEMA"."test1"'
);
end;
/
匿名块完成
但是当我尝试添加电子邮件通知时,就好像找不到对象一样,我正在使用自己的架构并拥有 DBA 角色,因此我认为应该克服任何潜在的权限问题(尽管在我自己的架构我会假设我可以很容易地完成预定的工作)
BEGIN
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION (
job_name => '"SCHEMA"."test1"',
recipients => 'email_address@test.com',
events => 'JOB_BROKEN, JOB_CHAIN_STALLED, JOB_FAILED, JOB_OVER_MAX_DUR, JOB_SCH_LIM_REACHED'
);
END;
/
ORA-27476: "SCHEMA.SCHEMA" does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 4856
ORA-06512: at "SYS.DBMS_ISCHED", line 7117
ORA-01403: no data found
ORA-06512: at "SYS.DBMS_SCHEDULER", line 4030
ORA-06512: at line 3
请注意,它说 SCHEMA.SCHEMA 好像它没有正确读取该行。当我将它从 '"SCHEMA"."test1"' 更改为 'test1' 时,它仍然不起作用,但显示 ORA-27476: "SCHEMA.TEST1" 不存在。
我所有的工作都正常工作并且表现良好,并且我已经得到了一个 UTL_MAIL 实现,但如果可能的话,我真的很想让 oracle 的东西工作起来简单。