Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-24247:truy cập mạng bị từ chối bởi danh sách kiểm soát truy cập (ACL) trong khi gửi email oracle

Bạn không cần bất kỳ commit , vì các hoạt động DML rõ ràng không được thực hiện cho các hoạt động này. Và sử dụng begin..end khối không cần thiết cho mọi lệnh gọi phương thức.

Vấn đề của bạn bắt nguồn từ thực tế là tính cần thiết của việc gọi Dbms_Network_Acl_Admin.Add_Privilege phương thức với privilege => 'connect' tùy chọn cũng có. Vì vậy, bạn có thể sử dụng như sau:

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;

Với truy vấn sau, tất cả các quyền truy cập đặc quyền có thể được kiểm tra ( thông qua các lược đồ SYS hoặc 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Điền vào các hàng trong cột A với giá trị của cột B nếu điều kiện trong cột A được đáp ứng

  2. Oracle SQL:Lọc theo ROWNUM không trả về kết quả khi cần

  3. Hàm SYS_GUID () trong Oracle

  4. Gọi một thủ tục được lưu trữ với một thủ tục khác trong Oracle

  5. Thời gian truy vấn kết nối dữ liệu ODBC trong Excel được thực hiện để làm mới từng truy vấn