ORA-29278 – SMTP transient error: %s

23 Sep

1.) Texte aus oerr unter Linux

29278, 00000, “SMTP transient error: %s”

// *Cause: A SMTP transient error occurred.

// *Action: Correct the error and retry the SMTP operation.

2.) Erklärung

Mit dem Package UTL_SMTP wurde versucht, E-Mails aus der Datenbank heraus zu versenden. Das Versenden schlug fehl, da keine Verbindung zu dem SMTP-Server hergestellt werden konnte.

3.) Lösungsvorschläge

ACLs (Access Control Lists) sind in der Datenbank anzulegen und freizugeben. Diese enthalten den User und Verbindungsdaten zu dem SMTP-Server.

a) Anlegen eines ACL mit einem User in einer Oracle-Datenbank mit der Prozedur DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL
(acl => 'smtp-gate-erlaubnis.xml',
description => 'Erlaubnis für das smtp gate',
principal => '<username>',
is_grant => TRUE,
privilege => 'connect');
COMMIT;
END;
/
b) Zuordnung eines ACL zu einem oder mehreren Servern im Netz mit der Prozedur DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL
BEGIN
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'smtp-gate-erlaubnis.xml',
host => '<smtp_server>',
lower_port => 25,
upper_port => null);
COMMIT;
END;
/
c) Prüfen ob alle ACL korrekt angelegt wurden:

— View dba_network_acls prüfen

SELECT host, lower_port, upper_port, acl FROM dba_network_acls;

— Datumsformat anpassen

alter session set nls_date_format=’YYYY.MM.DD:HH24:MI:SS’;

— View dba_network_acl_privileges prüfen

SELECT acl, principal, privilege, is_grant, start_date, end_date FROM dba_network_acl_privileges;

 

Diesen Artikel teilen :Share on Google+Share on LinkedInTweet about this on TwitterShare on Facebook

Tags: , ,