跳到主要内容
内容阅读

在知识库中专注阅读,并随时返回相关工具与课程

ORA-24247常见安全

网络访问被访问控制列表(ACL)拒绝

Network access denied by access control list (ACL)

错误描述

PL/SQL 程序尝试进行网络调用(UTL_HTTP、UTL_TCP、UTL_SMTP 等),但用户没有目标主机所需的 ACL 权限。

可能原因

  • 未为目标主机和端口配置 ACL
  • 用户未添加到网络访问的 ACL 中
  • ACL 存在但不包含所需权限(connect、resolve)

解决方案

  1. 1创建 ACL(12c+):BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(host=>'*.example.com', ace=>xs$ace_type(privilege_list=>xs$name_list('connect'), principal_name=>'USERNAME', principal_type=>xs_acl.ptype_db)); END;
  2. 2验证 ACL:SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
  3. 3授予 resolve 权限用于 DNS 查找

诊断命令

SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
SELECT acl, principal, privilege, is_grant FROM dba_network_acl_privileges;
SELECT * FROM dba_host_aces;
#security#acl#network#utl-http

同类错误码(安全)

想系统掌握这个领域?

「安全」在课程 Day 81-90 中有 10 篇完整实战教程

完整操作步骤真实截图踩坑总结
查看完整课程¥128/月起 · 解锁全部 2738+ 篇
ORA-24247: 网络访问被访问控制列表(ACL)拒绝 - 原因与解决方案 | DBA 学习之路