Oracle 11g ‘de UTL Paketlerinin Kullanımı
“UTL_” ile başlayan paketleri PL/SQL ‘ler içerisinde fazlaca kullanıyorum.
Oracle 10g de örneğin UTL_MAIL paketini kullanmak için;
grant execute on utl_mail to USERNAME;
demek yeterliydi. Ama Oracle 11g ‘ye geçtikten sonra hepsi hata verdi. Çalışan fonksiyonlar ve prosedürler çalışmaz oldu.ORA-24247: network access denied by access control list (ACL) şeklinde bir hata alıyorsunuz.
Oracle 11g de bu paketleri kullanmak için bir Access Control Lists yaratmanız gerekiyor.
Oracle’a SYS olarak login olun ve aşağıdaki gibi bir script çalıştırınız:
Örnegin UTL_SMTP için bir ACL yarattım.
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => ‘UTL_SMTP.xml’,
description => ‘ACL for utl_smtp package’,
principal => ‘<USERNAME>’,
is_grant => TRUE,
privilege => ‘connect’);DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => ‘UTL_SMTP.xml’,
host => ‘<mail_server_ip>’);
END;
/
COMMIT;Principal ‘a bir username ve Host ‘a da bir ip vermeyi unutmayınız.
Recent Comments