The following error:
java.sql.SQLException: ORA-24247: network access denied by access control list (ACL)
ORA-06512: at “SYS.UTL_INADDR”, line 4
ORA-06512: at “SYS.UTL_INADDR”, line 35
ORA-06512: at line 1
Cause:
A new security measure is introduced in Oracle 11g Release 1 (11.1) for the following network-related PL/SQL packages: UTL_TCP, UTL_HTTP, UTL_SMTP, UTL_MAIL, UTL_INADDR, DBMS_LDAP and the HttpUriType type.
The invoker of those packages needs additional privileges to connect to an external host or to resolve the name or the IP address of a host.
The packages check the invoker for the necessary privileges only when the calls are made at runtime and raises an exception if the invoker lacks the privileges. T
his new security measure is implemented by the XML DB access control list (ACL) mechanism and, therefore, requires XML DB to be installed and Configure network Access Control Lists (ACLs) in the database before these packages can work as they were working in prior releases.
Set the ACL for your 11g schema :
1. Connect to the database with SYS user as SYSDBA
2. Execute the following script after updating the email server name and port number :
SQL> exec dbms_network_acl_admin.create_acl(acl => ‘resolve.xml’,description => ‘resolve acl’, principal =>’ZABBIX’, is_grant => true, privilege => ‘resolve’);
SQL> exec dbms_network_acl_admin.assign_acl(acl => ‘resolve.xml’, host =>’*’);
SQL> COMMIT;
You can verify the above is correct by running:
select utl_inaddr.get_host_name(‘127.0.0.1’) from dual;
and everything should working fine;