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

2022年 10月 20日 发表评论
腾讯云618会场:点此直达 阿里云618会场:点此直达
免费/便宜/高性价比服务器汇总入口(已更新):点此直达

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

ORA-06512: 在 "SYS.UTL_HTTP", line 368ORA-06512: 在 "SYS.UTL_HTTP", line 1118ORA-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; 34059712

腾讯云618活动:点此领取】8888元代金券,附云服务器价格表,2核2G4M轻量应用服务器99元1年,新老用户都可以买,可以享受1次续费99元一年、135元15个月、三年560元,MySQL云数据库59元1年起,2核2G3M配置82元1年,2核4G5M配置188元一年、3年900元,4核8G12M轻量服务器880元15个月,8核16G配置1890元15个月,更多16核32G28M带宽和云服务器CVM标准型S5、GPU服务器、CVM标准型SA2租用优惠价格如下,可以 点此进入最新活动页 查看当前最新的优惠券和活动信息。 腾讯云首购便宜续费贵,点击前往 【爆品专区】选择3年/5年,免得续费贵;首购便宜升级贵,建议 点击 选择8核16G/16核32G配置高的服务器。 阿里云618活动:点击领取】5亿上云补贴和2088元满减代金券,阿里云服务器租用费用618活动最新价格表【点击了解】,最便宜轻量应用服务器2核2G3M带宽82元1年,ECS云服务器2核2G3M带宽99元一年,ECS u1实例2核4G5M带宽优惠价格199元一年,香港30M带宽轻量服务器24元1个月、288元一年,4核8G服务器706元一年,ECS云服务器4核16G10M带宽30元1个月、90元3个月,云服务器8核32G10M带宽109元1个月、327元3个月。 腾讯云老用户享新人优惠的方法:用Qq登录、1人可注册3个新账号/用家人朋友的身份注册新号(点击注册新账号)。
小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: