我不得不将我们的数据库从 oracle 11g 升级到 oracle 18c XE。在 11g 中,一些计划作业会发送电子邮件以报告数据库错误或报告数据中的错误。用户 SYS 能够通过定义的 smtp_out_server 发送电子邮件,但不能通过执行程序的用户 - 尽管我授予了必要的权限并提供了一个 ace。这是查询 ob dba_host_aces 的结果:
HOST: 10.193.n.n | LOWER_PORT: 587 | UPPER_PORT: 587 | ACE_ORDER: 1 | GRANT_TYPE: GRANT | INVERTED_PRINCIPAL: NO | PRINCIPAL: DBUSER | PRINCIPAL_TYPE: DATABASE | PRIVILEGE: SMTP
我撤销并重建了王牌,但没有任何帮助。如果我尝试通过 utl_mail 使用 DBUSER 发送邮件,我会得到 ora-24247。这是一个非常简单的测试电子邮件:
BEGIN
UTL_MAIL.send(sender => 'chris@mailserver.de',
recipients => 'chris@mailserver.de',
subject => 'UTL_MAIL Test',
message => 'If you get this message it worked!');
END;
/
与用户 sys 发送的相同消息/块有效。
有谁知道可能出了什么问题或者我可以检查什么来解决这个问题?
克里斯托夫