Oracle 存储过程发邮件

在 Oracle 的运维过程中,常常需要监控任务执行情况,这时候如果用 Java 或 Python 都可以自定义一个发邮件提醒的功能,但如果能调用 Oracle 自带的的一些包来实现邮件提醒,不仅调用方便,而且提醒的灵活度更高(可以插在存储过程的任意一个犄角旮旯里)。

这里有两篇文章,详细介绍了调用 Oracle 系统包实现邮件提醒功能的两种方法:

  1. Oracle 发送邮件 这一篇调用了 utl_smtp 包;
  2. Oracle 11g 使用 UTL_MAIL 包实现存储过程发送邮件 这一篇调用了 utl_mail 包,适用于 Oracle 11g 及以上版本的系统。

我在使用这两个包的时候,遇到了“ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝”的报错。我先检查了用户权限,然后检查了邮件服务器的端口权限,都没问题,于是在网络上搜索答案,原来真的报错提示很明显,就是 ACL 权限问题,不是其他。
于是参照ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝这篇文章中的方法重新设置,一调试,果然可以正常发邮件了。

你可能感兴趣的:(Oracle 存储过程发邮件)