讲师中心 微信公众号
AI工具推荐 视频效率加速

为何Oracle存储过程调用WebService报错_配置ACL网络访问控制列表。

胖萱大大_4258

胖萱大大_4258

发布时间:2026-07-18 16:10:59

|

421人浏览过

|

来源于php中文网

原创

ORA-24247 根本原因是 Oracle 11g+ 引入的 ACL 网络访问控制未配置:必须用 DBMS_NETWORK_ACL_ADMIN 显式创建 ACL、授予 connect 和 resolve 权限、绑定精确 host/port 并 COMMIT,缺一不可。

oracle 存储过程调用 webservice 报 ora-24247 错误,根本原因不是代码写错、url 写错或网络不通,而是数据库层面没配 acl —— 这个权限控制独立于传统 grant,必须显式创建并绑定主机端口。

ORA-24247 是 ACL 缺失的明确信号

只要看到这个错误,就说明 UTL_HTTP 或 UTL_DBWS 被拦在了网络层。常见触发场景:

  • 新建用户后直接跑 HTTP 请求,没做任何 ACL 配置
  • ACL 创建了,但只加了 connect,没加 resolve(尤其 URL 含域名时)
  • ASSIGN_ACL 的 host 值和实际请求目标不一致(比如请求 api.example.com,ACL 却绑了 example.com)
  • ACL 文件名重复覆盖了系统已有配置(如硬写 'utl_http.xml' 且已存在)

principal 必须是大写用户名,不能是角色或小写名

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 的 principal 参数认的是真实数据库用户名,且默认建用户时是大写的。填错会直接报 ORA-46051 或静默失败:

  • 用户是 APP_USER,必须写 principal => 'APP_USER',写成 'app_user' 或 'App_User' 都无效
  • 不能填角色名(如 'CONNECT'),哪怕该角色有 EXECUTE ON UTL_HTTP 也不行
  • 用户还没 CREATE USER 就去建 ACL,会失败;ACL 不会自动创建用户

域名场景下 resolve 权限不可省略

如果 WebService 地址含域名(如 https://svc.internal/api),Oracle 内部需 DNS 解析。仅授 connect 会导致后续报 ORA-29273 + ORA-12545(主机名无法解析):

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载
  • 必须分两步:先 CREATE_ACL 加 connect,再 ADD_PRIVILEGE 加 resolve
  • 两个权限要属于同一个 ACL 文件(acl => 'xxx.xml' 一致)
  • resolve 不代表能连通,只是允许 Oracle 发起 DNS 查询;连通性仍取决于 connect 和 ASSIGN_ACL 的 host/port

ASSIGN_ACL 的 host 和端口必须精确匹配请求目标

host 不支持正则,只接受完整域名/IP 或通配符 *;lower_port/upper_port 是闭区间:

  • 请求 URL 是 http://service.internal:8080/ → host => 'service.internal', lower_port => 8080, upper_port => 8080
  • HTTPS 默认端口 443,别漏掉;HTTP 默认 80 同理
  • host => '*' 在测试环境可用,生产环境禁止——它绕过所有主机白名单控制
  • 主机名大小写敏感:若 DNS 解析依赖 Api.Example.Com,ACL 里也得照写,不能简写为 example.com

最易被忽略的一点:ACL 修改后必须 COMMIT,否则事务未提交,权限不生效。很多 DBA 在 SQL*Plus 里执行完 PL/SQL 块忘了敲 COMMIT,查 dba_network_acl_privileges 看起来都对,但就是报 ORA-24247。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

4163

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

891

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

1089

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

6041

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

2923

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

6020

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

8061

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

1110

2024.04.29

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

20

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn