ORA-29278 – SMTP transient error: %s

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 => “,
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 => “,
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;