You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自治数据库使用UTL_HTTP报ORA-29273/ORA-24247错误如何解决

UTL_HTTP在共享Exadata架构ATP中的使用说明

功能支持性

UTL_HTTP在共享Exadata基础设施的自治事务处理(ATP)实例中完全受支持,你遇到的ORA-24247: network access denied by access control list (ACL)报错是数据库层ACL配置不全、加上共享ATP独有的出站网络访问规则未配置共同导致的。

完整配置步骤

  • 修正数据库层ACL配置
    你之前的ACL配置缺少端口范围指定、以及必要的resolve权限,同时请确认principal_name参数值和你实际执行UTL_HTTP请求的数据库用户名完全一致(Oracle用户名大小写敏感,默认都是大写),参考修正后的配置语句:
BEGIN
   DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'fa-saasfaprod1.fa.ocs.oraclecloud.com',
         lower_port => 443, -- 访问HTTP则改为80,根据实际目标端口调整
         upper_port => 443,
         ace =>  xs$ace_type(privilege_list => xs$name_list('http', 'resolve'),
                             principal_name => '替换为实际执行请求的数据库用户名',
                             principal_type => xs_acl.ptype_db));
   COMMIT;
END;
/
  • 配置OCI控制台的ATP出站访问规则
    共享架构ATP默认拒绝所有出站网络请求,必须在控制台层面额外放行目标站点的访问权限:
  1. 登录OCI控制台进入对应ATP实例详情页
  2. 切换到「出站访问」选项卡
  3. 新增出站规则,类型选择「外部主机」,填写目标主机名fa-saasfaprod1.fa.ocs.oraclecloud.com和对应端口,保存后等待3-5分钟规则生效
  • (HTTPS访问可选)导入目标站点根证书
    如果访问的是HTTPS地址,需要先将目标站点的根证书(PEM格式)导入ATP的可信钱包,避免证书校验报错。

功能验证

配置全部完成后执行如下测试语句验证连通性:

SELECT UTL_HTTP.REQUEST('https://fa-saasfaprod1.fa.ocs.oraclecloud.com') FROM DUAL;

正常返回内容即代表配置生效。

内容的提问来源于stack exchange,提问作者ctuzla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:24:00