ORA-24247: network access denied by access control list (ACL)

测试webservice的时候遇到权限问题,解决方法:添加控制策略。


select * from dba_network_acls;

SELECT v.* from dba_network_acl_privileges v;

select utl_http.request('http://10.80.38.97/services/FastServer?wsdl')
  from dual;
--测试接口  
select utl_http.request('http://10.80.38.97/services/FastServer?wsdl')
  from dual;

BEGIN

  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(ACL => '/sys/acls/Webservice.xml', --命名

                                    DESCRIPTION => 'ACL_list', --描述

                                    PRINCIPAL => 'APEX_PUBLIC_USER', --要赋权限的用户

                                    IS_GRANT => TRUE, --true表示赋权,false表示取消赋权

                                    PRIVILEGE => 'connect');

  DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL => '/sys/acls/Webservice.xml',

                                       PRINCIPAL => 'APEX_PUBLIC_USER',

                                       IS_GRANT => TRUE,

                                       PRIVILEGE => 'resolve');

  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(ACL => '/sys/acls/Webservice.xml',

                                    HOST => '*', --主机名,可以指定主机名,也可以使用*做为通配

                                    lower_port => 1, --端口配置视情况而定,若需要精确控制可限定主机端口范围

                                    upper_port => 9999);

END;

参考文章 : http://dbtricks.com/?p=159

你可能感兴趣的:(Oracle)