Mark Harrison Asked: 2015-09-16 08:12:23 +0800 CST2015-09-16 08:12:23 +0800 CST 2015-09-16 08:12:23 +0800 CST Oracle:如何在 Oracle 11 中将用户添加到 HTTP ACL? 772 如何将用户添加到网络 ACL(访问控制列表)? 运行此代码时 declare req utl_http.req; begin req := utl_http.begin_request('http://example.com'); end; 我收到此错误。 ORA-24247: network access denied by access control list (ACL) oracle index 1 个回答 Voted Best Answer Mark Harrison 2015-09-16T08:12:23+08:002015-09-16T08:12:23+08:00 首先,查看您是否有针对端口 80(HTTP 端口)的 ACL。如果你这样做,它应该看起来像这样。 select * from dba_network_acls; HOST LOWER_PORT UPPER_PORT ACL ACLID --- ---------- ---------- --- ----- * 80 80 /sys/acls/www.xml 1FBEC09C32D78F5AE05335D6488A7883 如果需要重新创建它,可以使用以下命令删除它: dbms_network_acl_admin.drop_acl('www.xml'); 创建 ACL: dbms_network_acl_admin.create_acl( acl => 'www.xml', description => 'WWW ACL', principal => 'SCOTT', is_grant => true, privilege => 'connect' ); 将主机和端口分配给 ACL: dbms_network_acl_admin.assign_acl( acl => 'www.xml', host => '*', lower_port => 80 ); 将用户添加到 ACL: dbms_network_acl_admin.add_privilege( acl => 'www.xml', principal => 'OE', is_grant => true, privilege => 'connect' ); 版本说明: kevinsky指出这适用于 Oracle 11,但在 Oracle 12 中已更改。
首先,查看您是否有针对端口 80(HTTP 端口)的 ACL。如果你这样做,它应该看起来像这样。
如果需要重新创建它,可以使用以下命令删除它:
创建 ACL:
将主机和端口分配给 ACL:
将用户添加到 ACL: