Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-24247:odmowa dostępu do sieci przez listę kontroli dostępu (ACL)

Mam regularnie zaplanowaną pracę w bazie danych Oracle RAC, która wyśle ​​mi powiadomienie e-mail o stanie. Dzieje się to co 30 minut. Zadanie nie powiodło się na jednym z węzłów, ale nie na innych. Zadanie wyrzuca te błędy:

ORA-12012: error on auto execute of job "OWNER"."JOB_NAME"
ORA-24247: network access denied by access control list (ACL)
ORA-06512: at "SYS.UTL_TCP", line 17
ORA-06512: at "SYS.UTL_TCP", line 267
ORA-06512: at "SYS.UTL_SMTP", line 161
ORA-06512: at "SYS.UTL_SMTP", line 197
ORA-06512: at "SYS.UTL_MAIL", line 386
ORA-06512: at "SYS.UTL_MAIL", line 599
ORA-06512: at line 41

Dziwne w tym przypadku jest to, że we wszystkich instancjach działają następujące elementy:

SQL> exec utl_mail.send(sender=>'[email protected]', -
> recipients=>'[email protected]', -
> subject=>'test from orcl1', -
> message=>'test from orcl1', -
> mime_type=>'text; charset=us-ascii');
PL/SQL procedure successfully completed.

Więc kiedy wyślę wiadomość e-mail na instancji, działa dobrze. Ale właściciel zadania otrzymuje błąd. Utwórz więc listę ACL i przypisz uprawnienia.

SQL> exec dbms_network_acl_admin.create_acl ( -
> acl=>'utl_mail_acl.xml', -
> description=>'ACL for using UTL_MAIL', -
> principal=>'OWNER', -
> is_grant=>TRUE, -
> privilege=>'connect', -
> start_date=>SYSTIMESTAMP, -
> end_date=>NULL);
PL/SQL procedure successfully completed.
SQL> exec dbms_network_acl_admin.assign_acl( -
> acl=>'utl_mail_acl.xml', -
> host=>'smtprelay.acme.com', -
> lower_port=>25, upper_port=>NULL);
PL/SQL procedure successfully completed.
zatwierdzenie
SQL> commit;
Commit complete.

Teraz procedura działa zgodnie z zaleceniami.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00838

  2. Dynamiczny obrót w Oracle sql - Procedura

  3. Ładowanie danych obrazu do kolumn BLOB w Oracle

  4. Wydano SQL Developer 4.0

  5. Jak mogę znaleźć, które tabele odwołują się do danej tabeli w Oracle SQL Developer?