错误样例(使用UTL_HTTP发送http请求时,报出如下错误): 原因: 1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。 2、在Oracle 10g是通过一个基于用户是否被授予执行某

错误样例(使用UTL_HTTP发送http请求时,报出如下错误):

原因:

1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。

2、在Oracle 10g是通过一个基于用户是否被授予执行某个包的许可的 on/off开关来实现的,Oracle 11g引入了细粒度访问网络服务.

3、通过在XML DB 数据库中使用访问控制列表(ACL)来实现,允许控制哪个用户能够访问哪个网络资源,而不关心包的授权。

解决办法:

-- 查询网络访问控制列表 acl

?

1

Select * From dba_network_acls

-- 查询访问控制权限列表

?

1

Select * From dba_network_acl_privileges

-- 查询数据库中的用户,用户名大小写敏感

?

1

Select username From dba_users Where username Like '%ITS%'

分配acl权限,执行如下sql语句:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

begin

dbms_network_acl_admin.create_acl ( -- 创建访问控制文件(ACL)

acl => 'utl_http.xml', -- 文件名称

description => 'HTTP Access', -- 描述

principal => 'ITS', -- 授权或者取消授权账号,大小写敏感

is_grant => TRUE, -- 授权还是取消授权

privilege => 'connect', -- 授权或者取消授权的权限列表

start_date => null, -- 起始日期

end_date => null -- 结束日期

);

dbms_network_acl_admin.add_privilege ( -- 添加访问权限列表项

acl => 'utl_http.xml', -- 刚才创建的acl名称

principal => 'ITS', -- 授权或取消授权用户

is_grant => TRUE, -- 与上同

privilege => 'resolve', -- 权限列表

start_date => null,

end_date => null

);

dbms_network_acl_admin.assign_acl ( -- 该段命令意思是允许访问acl名为utl_http.xml下授权的用户,使用oracle网络访问包,所允许访问的目的主机,及其端口范围。

acl => 'utl_http.xml',

host => '100.1.2.1', -- ip地址或者域名,填写:9000/hello与:9000/是会报host无效的

-- 且建议使用ip地址或者使用域名,若用localhost,当oracle不是安装在本机上的情况下,会出现问题

lower_port => 9000, -- 允许访问的起始端口号

upper_port => Null -- 允许访问的截止端口号

);

commit;

end;

begin

dbms_network_acl_admin.assign_acl ( -- 可以授权多个主机,或者多个主机的多个端口

acl => 'utl_http.xml',

host => '10.100.49.138',

lower_port => 80,

upper_port => NUll

);

commit;

end;

请求测试:

?

1

select utl_http.request('http://localhost:9000/hello?wsdl') From dual;

若出现no listener,是因为授权主机时不能写localhost,应该写ip地址或者域名,如下图:

移除acl和权限控制

撤销分配acl到hostacl -- 与assign对应

?

1

2

3

4

5

6

7

8

9

10

11

12

begin

dbms_network_acl_admin.unassign_acl(

acl => 'utl_http.xml',

host => '100.1.2.1',

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

oracle utl inaddr,oracle11g之ACL拙见相关推荐

  1. oracle utl inaddr,oracle11gr2中ACL对UTL_INADDR的授权报错,急急急

    本帖最后由 wdnmg 于 2011-12-4 21:01 编辑 我需要在数据库中的TEST用户中使用utl_inaddr,执行select语句出现错误: SQL> select UTL_INA ...

  2. oracle utl inaddr,Oracle包utl_inaddr

    Oracle包utl_inaddr 作用:用于取得局域网或Internet环境中的主机名和IP地址. 1.utl_inaddr.get_host_address 环境中IP地址 如果查询失败,则提示系 ...

  3. 低版本jdbc连接高版本oracle,转:oracle11g的JDBC连接 URL和之前的版本有一定的区别...

    今天安装了oracle11g后,写了JDBC测试程序,一直都连接不上! 一直找不到原因 后来读了一下安装文件中的Readme.txt文档,汗啊!这个版本居然把url的访问方式改变了: Some Use ...

  4. linux oracle bad elf,oracle11g安装到red hat6.2 64位系统报错:/lib/ld-linux.so.2: bad ELF interpreter...

    oracle11g安装到red hat6.2 64位系统报错:/lib/ld-linux.so.2: bad ELF interpreter 1.问题如下: [oracle@just ~]$ cd d ...

  5. oracle考试地点,Oracle11g认证考试主要途径

    Oracle 11g有400多项功能,经过了1500多个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年.Oracle 11g提供了高性能.伸展性.可用性和安全性,并能更方 ...

  6. oracle utl file grant,oracle中设置UTL_FILE_DIR参数

    oracle中设置UTL_FILE_DIR参数 第一步:以管理员用户登陆 如:conn    sys/password@sid    as    sysdba 第二步:设置可操作目录 需要指定utl_ ...

  7. oracle 渗透,渗透oracle11g

    我曾经在90sec论坛里发过这两篇文章,目测t00ls里关于oracle攻防方面的文档很少,算是科普一下,再次拿出来分享,也给自己攒点积分好能看别人发的帖子 一.  漏洞概要 漏洞描述: Oracle ...

  8. 局域网oracle无法访问,oracle11g本地可以访问但局域网无法访问

    问题描述,现在有两台电脑 A 和 B : 1)电脑 A 上有 Oracle11G服务端: ip地址 192.168.1.198; 端口1521: 2)电脑 A 本机连接数据库正常,可以登录及操作等: ...

  9. oracle exp lrm00109,oracle11g ORA-01078 LRM-00109错误

    今天在SUSE 11.1 上安装测试数据库oracle 11.2.0.3 数据库装好后,用startup启动报错, SQL> startup ORA-01078: failure in proc ...

最新文章

  1. windows 2008 (非R2)使用批处理文件调整组策略过程记录
  2. javascript获取和设置URL中的参数
  3. 尼康单反相机测试软件,尼康D4S数码单反相机专题测试
  4. 数据结构与算法(C++)– 二叉查找树(Binary Search Tree )
  5. python 学习笔记 - for循环: 字典遍历, 分别打印key, value, key:value
  6. javac编译java文件之后 java运行找不到类的处理
  7. 不同类别的图像数量可视化
  8. 模型描述的关系模式_框架篇:见识一下linux高性能网络IO+Reactor模型
  9. BZOJ 1444 [JSOI2009]有趣的游戏 (Trie图/AC自动机+矩阵求逆)
  10. 为Pokémon Go而生的聊天软件GoChat,坐拥百万用户却快要破产
  11. python open可以打开什么类型文件_Python打开文件open()的注意事项
  12. 嵌入式系统——软件测试工程
  13. 专业人士对《程序员修炼之道》的赞誉
  14. Raspberry install wine
  15. 2021-03-14
  16. mysql查询一周内的订单_MYSQL查询一周内的数据(最近7天的) 怎么写
  17. 朴素贝叶斯,拉普拉斯平滑
  18. RedHat6.6安装thefuck工具,自动纠正错误命令
  19. js实现模拟自动点击按钮,并且在10秒倒计时之后疯狂点击
  20. Mybatis-plus 分页功能报错:除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

热门文章

  1. 使用Spring WebFlux构建反应性REST API –第1部分
  2. Spring Data Redis:Sentinel的高可用性
  3. 将Gatling集成到Gradle构建中–了解SourceSet和配置
  4. JUnit 5 –动态测试
  5. junit-4.9.jar_JUnit 4.9(测试版3)中的规则
  6. 协同遗漏的效果–使用简单的NIO客户端/服务器测量回送延迟
  7. 使用RxNetty访问Meetup的流API
  8. Spring MVC中的验证组
  9. 一种替代的多生产者方法
  10. 最佳字符串对齐的Java实现