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

在新建的数据库中,通过UTL_HTTP包发送请求时.抛出异常

ORA-06512: 在 "SYS.UTL_HTTP", line 368
ORA-06512: 在 "SYS.UTL_HTTP", line 1118
ORA-29273: HTTP 请求失败
ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝

原因,新创建的用户并未指定ACL权限(访问控制列表),因此不能直接访问互联网

解决方式

首先查询下,当前数据库中,是否为当前用户分配ACL权限
select * from dba_network_acl_privileges ;
可以看到,系统中,存有ACL文件,但是分配的PRINCIAPL中没有当前用户.
查询结果
因此,执行以下SQL,将系统中已经有的ACL文件分配给当前用户.

begin
  dbms_network_acl_admin.add_privilege
    (acl        => '/sys/acls/XXX.xml',      -- 命名ACL
     principal  => 'XXXX',                   -- 用户
     is_grant   => true,                     -- true表示赋权,false表示取消赋权
     privilege  => 'connect');               -- 权限限制
end;

如果很不幸,你之前没有创建过ACL文件
则需要创建,并分配访问端口
创建文件

begin
  dbms_network_acl_admin.create_acl
    (acl         => '/sys/acls/utl_http.xml', -- 命名
     description => 'some word.. ',           -- 描述
     principal   => 'XXXX',                   -- 要赋权限的用户
     is_grant    => true,                     -- true表示赋权,false表示取消赋权
     privilege   => 'connect');               -- 权限限制
end;

分配地址,端口

begin
  dbms_network_acl_admin.unassign_acl
    (acl        => '/sys/acls/ACLName.xml', -- 命名
     host       => '11.11.111.11',          -- 服务器地址
     lower_port => 1,                       -- 端口从
     upper_port => 10000);                  -- 端口到
end;
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值