ORA-24247:network access denied by access control list (ACL) 的处理方法

ORA-24247 在11g及以上版本会碰到此问题。这是因为Oracle在安全方面做了升级,导致要对一些系统包的使用前需要先获得授权,而这个授权不是简简单单的通过grant就可以完成的。

下面举例说明问题的解决步骤和思路,需要用到的包为 DBMS_NETWORK_ACL_ADMIN,需要DBA权限去执行:


--首先,如果不存在访问控制文件,那么就创建一个

--如果已经有了,那么就忽略这一步,除非你想有序化进行管理,那么就重新创建一个

begin

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => 'Resolve_Access.xml',

description => 'Resolve Access',

principal => 'LMSYS',

is_grant => true,

privilege => 'connect');

end;

--其次,为某个SCHEMA增加访问权限,权限分resolve和connect两种(必须全小写),需要根据具体使用的包来确定

--具体的,is_grant的说明说得很清楚了

/*

Network privilege to be granted or denied - 'connect | resolve' (case sensitive). A database user needs the connect privilege to an external network host computer if he or she is connecting using the UTL_TCP, UTL_HTTP, UTL_SMTP, and UTL_MAIL utility packages. To resolve a host name that was given a host IP address, or the IP address that was given a host name, with the UTL_INADDR package, grant the database user theresolve privilege.

*/

begin

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => 'Resolve_Access.xml',

principal => 'SCOTT',

is_grant => true,

privilege => 'resolve');

end;

--由于发邮件时我指定的是IP,而不是hostname,所以第二步就不需要做了。

--第三步,授权从某主机上可以访问。host支持IP或主机名,并支持通配符*,指定主机名时要注意大小写是敏感的。

begin

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => 'Resolve_Access.xml',

host => '*');

end;

--最后一步,提交

commit;

https://www.cnblogs.com/ianxu/p/10417833.html

相关推荐
c萱1 小时前
软件测试错题笔记
软件测试·数据库·笔记·测试工具·oracle·测试用例
烟雨归来2 小时前
3 个 ASM 磁盘故障案例,从故障诊断到解决方案
数据库·oracle
烟雨归来7 小时前
23ai数据库通过SQLcl生成AWR报告
oracle
川石课堂软件测试8 小时前
Oracle 数据库:视图与索引
数据库·网络协议·nginx·http·oracle·grafana·prometheus
li357414 小时前
从“内存操作”到“原子更新”:一次代码思维的跃迁
数据库·oracle
小白考证进阶中14 小时前
终于赶在考试券过期前把Oracle OCP证书考下来了!
运维·数据库·oracle·dba·开闭原则·数据库管理员
川石课堂软件测试16 小时前
Oracle 数据库如何查询列
linux·数据库·sql·功能测试·oracle·grafana·prometheus
NineData18 小时前
NineData发布 Oracle 到 MySQL 双向实时复制,助力去 O 战略与数据回流
mysql·阿里云·oracle·ninedata·数据库迁移·数据复制·双向复制
川石课堂软件测试19 小时前
Oracle 数据库使用事务确保数据的安全
数据库·python·功能测试·docker·oracle·单元测试·prometheus
皆过客,揽星河19 小时前
mysql初学者练习题(从基础到进阶,相关数据sql脚本在最后)
数据库·sql·mysql·oracle·mysql基础练习·mysql基础语法·数据库练习题