sql >> Databáze >  >> RDS >> Oracle

ORA-24247:přístup k síti odepřen seznamem řízení přístupu (ACL)

Mám pravidelně naplánovanou úlohu v databázi Oracle RAC, která mi pošle e-mailové upozornění na stav. To se děje každých 30 minut. Úloha selhala na jednom z uzlů, ale ne na ostatních. Úloha chrlí tyto chyby:

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

Na tomto je zvláštní, že následující funguje ve všech případech:

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.

Takže když pošlu e-mail na instanci, funguje to dobře. Ale majitel úlohy dostává chybu. Vytvořte tedy ACL a přiřaďte priv.

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.
SQL> commit;
Commit complete.

Nyní postup funguje podle pokynů.


  1. implodování seznamu pro použití v klauzuli python MySQLDB IN

  2. Jak nainstalovat sqlcmd &bcp na Red Hat

  3. Jsou připojení k mému serveru MySQL šifrovaná a bezpečná?

  4. Úroveň izolace opakovatelného čtení