最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

oracle11g之ACL拙见

来源:懂视网 责编:小采 时间:2020-11-09 16:20:42
文档

oracle11g之ACL拙见

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

  错误样例(使用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',

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

oracle11g之ACL拙见

oracle11g之ACL拙见:错误样例(使用UTL_HTTP发送http请求时,报出如下错误): 原因: 1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。 2、在Oracle 10g是通过一个基于用户是
推荐度:
标签: oracle 11g oracle11g
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top