ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝

ORA-24247:网络访问被访问控制列表 (ACL) 拒绝

开发编写了一个oracle 发送邮件的存储过程,之前是在10G 的版本运行使用,现在11.2.0.4 的版本使用,调试无法使用

发现报错ORA-24247, 网上查询资料如下:

1.需要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建访问控制列表(ACL),
   

BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl  => 'email_server_permissions.xml',
description  => 'Enables network permissions for the e-mail server',
principal  => 'smp',
is_grant  => TRUE,
privilege  => 'connect');
END;
/

2.再使用 DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL 将此 ACL 与邮件服务器相关联,

BEGIN
DBMS_NETWORK_ACL_ADMIN.assign_acl (
    acl         => 'email_server_permissionsr.xml',
    host        => 'stcmail.cn.simplo.com', ---SMTP服务器地址
    lower_port  => 25,
    upper_port  => NULL);
  COMMIT;
END;
/


3.删除ACL列表。

--drop
BEGIN
DBMS_NETWORK_ACL_ADMIN.drop_acl(acl => 'email_server_permissions.xml');
COMMIT;
END;
/

----查询 ACL列表
SELECT host, lower_port, upper_port, acl FROM dba_network_acls;

SELECT acl,principal,privilege,is_grant,TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
FROM dba_network_acl_privileges;

 

 

很多知识总是记不住,不如记下来

posted @ 2017-02-14 11:24  枯夜留心  阅读(2834)  评论(0编辑  收藏  举报