Resolvendo Erros de ‘Acesso Negado’ a ACL – 11g
Pessoal,
Este post tem como objetivo resolver problemas de acesso a serviços Externos de Rede va PL/SQL após migrar para versão 11gR1 ou 11gR2. O Erro ocorre quando o acesso é feito a packages Oracle:
- UTL_TCP
- UTL_HTTP
- UTL_SMTP
- UTL_MAIL
ORA-24247: network access denied by access control list (ACL)
Este erro ocorre porque no Oracle 11g o nivel de segurança a serviços externos de Rede é feito através de Access Control Lists (ACL) através da package DBMS_NETWORK_ACL_ADMIN.
Para resolver este erro, basta se conectar como usuário SYS e executar o script abaixo para dar acesso a um determinado usuário ao serviços de Redes Externos. Basta substituir o nome do SCHEMA do Banco de Dados no local de que deseja que tenha acesso aos serviços externos de Rede.
BEGIN
-- Only uncomment the following line if ACL "network_services.xml" has
already been created
--DBMS_NETWORK_ACL_ADMIN.DROP_ACL('network_services.xml');
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
acl => 'network_services.xml',
description => 'FTP ACL',
principal => '',
is_grant => true,
privilege => 'connect');
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'network_services.xml',
principal => '',
is_grant => true,
privilege => 'resolve');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
acl => 'network_services.xml',
host => '*');
COMMIT;
END;
/
Fonte
- Metalink Note: 1209644.1
Muito obrigado, me ajudou muito.
Muito obrigado, funcionou corretamente… grande abraço.