Oracle:网络访问被访问控制列表 (ACL) 拒绝
原因:新创建的用户并未指定ACL权限(访问控制列表),因此不能直接访问互联网
解决方式:
- 1.在sys权限下,查询是否为当前用户分配acl权限
select * from dba_network_acl_privileges ;
- 因此,执行以下sql,将系统中已经有的acl分配给当前用户
begin
dbms_network_acl_admin.add_privilege
(acl => 'utl_http.xml', -- 命名ACL
principal => 'USER', -- 用户
is_grant => true, -- true表示赋权,false表示取消赋权
privilege => 'connect'); -- 权限限制
end;
- 如果没有acl文件,则需要创建acl;(慎用:一般直接使用系统自带的acl文件,直接使用添加acl给用户)
begin
dbms_network_acl_admin.create_acl
(acl => 'utl_http.xml', -- 命名 ,命名禁止和系统的相同,和系统的相同会把系统数据删掉,造成acl无法使用
description => 'some word.. ', -- 描述
principal => 'USER', -- 要赋权限的用户
is_grant => true, -- true表示赋权,false表示取消赋权
privilege => 'connect'); -- 权限限制
end;
- 分配地址端口
begin
dbms_network_acl_admin.unassign_acl
(acl => 'utl_http.xml', -- 命名
host => '*', -- 服务器地址,可以使用*作为通配
lower_port => 1, -- 端口从
upper_port => 10000); -- 端口到
end;
- 删除用户权限
begin
dbms_network_acl_admin.delete_privilege(
'/utl_http.xml', 'PACDBUSER', NULL, 'resolve'
);
end;
- 删除acl配置文件
begin
dbms_network_acl_admin.drop_acl(
'/utl_http.xml'
);
end;
分类:
Oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术