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

ORA-24247:přístup k síti odepřen seznamem řízení přístupu (ACL) při odesílání e-mailu oracle

Nepotřebujete žádný commit , protože explicitní DML operace se pro tyto operace neprovádějí. A pomocí begin..end ani bloky nejsou potřeba pro každé vyvolání metody.

Váš problém pramení ze skutečnosti, že je nutné vyvolat Dbms_Network_Acl_Admin.Add_Privilege metoda s privilege => 'connect' možnost také. Můžete tedy použít následující :

BEGIN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
                                    acl         => 'apex_user.xml',
                                    description => 'access to apex email',
                                    principal   => 'DBUSER',
                                    is_grant    => TRUE,
                                    privilege   => 'connect',
                                    start_date  => SYSTIMESTAMP,
                                    end_date    =>Null
                                    );
  DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
                                       acl       => 'apex_user.xml',
                                       principal => 'DBUSER',
                                       is_grant  => true,
                                       privilege => 'connect'
                                       );

  DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
                                       acl       => 'apex_user.xml',
                                       principal => 'DBUSER',
                                       is_grant  => true,
                                       privilege => 'resolve'
                                       );


  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
                                    acl         => 'apex_user.xml',
                                    host        => 'smtp.gmail.com',
                                    lower_port  =>587,
                                    upper_port  =>587
                                    );
 END;

Pomocí následujícího dotazu bylo možné zkontrolovat všechny privilegované přístupy ( prostřednictvím schémat SYS nebo SYSTEM ):

select a.host,p.*
  from dba_network_acl_privileges p
  join dba_network_acls a on a.aclid = p.aclid
 order by a.host, p.principal, p.privilege;


  1. ORA-01658:nelze vytvořit INITIAL rozsah pro segment v tabulkovém prostoru TS_DATA

  2. GROUP BY / zmatek agregačních funkcí v SQL

  3. Problém s přístupem k MySQL z Javy

  4. Jak odečíst oprávnění v MySQL