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

ORA-46059: Invalid ACL identifier错误求助:数据库REST API调用ACL问题

ORA-46059: Invalid ACL identifier specified 错误排查与解决

我帮你分析下这个报错的核心原因,大概率是一个细节疏忽导致的:

1. 最可能的问题:ACL名称中的多余空格

你创建ACL时用的名称是 'test_sx_acl_file.xml',但在执行assign_acl的时候,acl参数写成了 'test_sx_acl_file.xml '——注意末尾多了一个空格!Oracle对ACL名称是严格匹配的,这个空格会让系统认为你指定的是一个不存在的ACL,直接触发ORA-46059错误。

修正后的分配语句

把末尾的空格去掉,执行下面的代码应该就能解决:

BEGIN 
  DBMS_NETWORK_ACL_ADMIN.assign_acl ( 
    acl => 'test_sx_acl_file.xml', 
    host => '*.testapi.com', 
    lower_port => NULL, 
    upper_port => NULL
  ); 
END; 
/

额外排查步骤(如果修正后仍有问题)

如果去掉空格还是报错,可以通过以下方式验证ACL是否存在:

  • 查询系统视图确认ACL的准确名称:
SELECT acl, principal, privilege 
FROM DBA_NETWORK_ACLS 
JOIN DBA_NETWORK_ACL_PRIVILEGES USING (acl)
WHERE acl LIKE '%test_sx_acl_file%';

如果查询结果里没有你创建的ACL,说明之前的create_acl可能存在隐性问题(比如权限不足,但你用SYSDBA执行的话概率很低),需要重新执行创建语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:13:12