Oracle Wallet wegen ORA -28759 unbrauchbar


0

Nachdem ich viele Ratschläge ausprobiert habe, wende ich mich endlich an diese Community und hoffe, dass ich ein wenig Anleitung bekomme.

Ich versuche, E-Mails aus PL / SQL heraus zu senden und habe eine 18c XE-Instanz auf RHL 7.2 eingerichtet. Neuinstallation, nichts zusätzlich installiert.

Wenn Sie alle Anweisungen zum Erstellen einer Brieftasche und von orapki befolgt haben, können Sie diese problemlos lesen.


orapki wallet display - wallet / opt / oracle / product / 18c / dbhomeXE / owm / wallets / root

Oracle PKI Tool Release 18.0.0.0.0 - Produktion

18.1.0.0.0: Version {1}

Copyright (c) 2004, 2017, Oracle und / oder der verbundenen Unternehmen. Alle Rechte vorbehalten. Alle Rechte vorbehalten.

Angeforderte Zertifikate:

Betreff: xxxxxxxxxxxxxxxxxxxxxxx

Benutzerzertifikate:

Vertrauenswürdige Zertifikate:

Betreff: CN = accounts.google.com, O = Google LLC, L = Mountain View, ST = Kalifornien, C = USA

Betreff: CN = GlobalSign, O = GlobalSign, OU = GlobalSign Stammzertifizierungsstelle - R2

Betreff: CN = Google Internet Authority G3, O = Google Trust Services, C = USA


Aus dem Inneren von Orakel erhalte ich die Nachricht:


ORA-28759: Fehler beim Öffnen von Datei

ORA-06512: In "SYS.UTL_TCP", Zeile 63

ORA-06512: In "SYS.UTL_TCP", Zeile 314

ORA-06512: In "SYS.UTL_SMTP", Zeile 177

ORA-06512: In "SYS.UTL_SMTP", Zeile 201

ORA-06512: in "xxxxxxxxx.QM_SEND_MAIL", Zeile 14 (meine Prozedur in Zeile 14)


Meine gespeicherte Prozedur sieht folgendermaßen aus:


PROCEDURE erstellen oder ersetzen qm_send_mail (

    p_from      VARCHAR2,

    p_to        VARCHAR2,

    p_subject   VARCHAR2,

    p_body      VARCHAR2

) IS





    objconnection    utl_smtp.connection;

    vrdata           VARCHAR2(32000);

    v_plain_string   VARCHAR2(32000);

    v_username_b64   VARCHAR2(32000);

    v_password_b64   VARCHAR2(32000);

BEGIN

    objconnection := utl_smtp.open_connection(  host => 'smtp.googlemail.com',

                                                port => 587,--global.g_smtp_port_ssl,

                                                wallet_path => 'file:/opt/oracle/product/18c/dbhomeXE/owm/wallets/root',

                                                --wallet_password => 'xxxxxxxxx',

                                                secure_connection_before_smtp => true);





                    utl_smtp.ehlo(objconnection, 'fritzquinum.dnsalias.com');    -- Must use EHLO  vs HELO

    utl_smtp.starttls(objconnection);





    utl_smtp.auth(objconnection, 'mygooglemailaccount', 'mygooglemailpassword', utl_smtp.all_schemes);





    utl_smtp.mail(objconnection, p_from);

    utl_smtp.rcpt(objconnection, p_to);

    utl_smtp.open_data(objconnection);

/ * ** Header-Informationen senden * /

    utl_smtp.write_data(objconnection, 'From: '

                                       || p_from

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'To: '

                                       || p_to

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'p_subjectject: '

                                       || p_subject

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'MIME-Version: '

                                       || '1.0'

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, 'Content-Type: ' || 'text/html;');

    utl_smtp.write_data(objconnection, 'Content-Transfer-Encoding: '

                                       || '"8Bit"'

                                       || utl_tcp.crlf);

    utl_smtp.write_data(objconnection, utl_tcp.crlf);

    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.write_data(objconnection, utl_tcp.crlf

                                       || '<span style="color: black; font-family: Courier New;">'

                                       || p_body

                                       || '</span>');





    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.write_data(objconnection, utl_tcp.crlf || '');

    utl_smtp.close_data(objconnection);

    utl_smtp.quit(objconnection);

- AUSNAHME

    WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN

        utl_smtp.quit(objconnection);

        dbms_output.put_line(sqlerrm);

    WHEN OTHERS THEN

        utl_smtp.quit(objconnection);

        dbms_output.put_line(sqlerrm);

END qm_send_mail;

Wie jemand darauf hinwies, dass die Rechte für den Ordner festgelegt werden müssen, habe ich geändert, um zu testen, ob die Dateiberechtigungen und der Besitz dazu gehören:


[root @ core wallets] # ​​ls -la

insgesamt 12

drwx ------. 3 root root 79 2. Jan 15:20.

drwxr-xr-x. 5 oracle oinstall 48 2. Jan 14:42 ..

drwxrwxrwx. 2 root oinstall 90 2. Jan 15:05 root

[root @ core wallets] # ​​cd root

[root @ core root] # ls -la

insgesamt 16

drwxrwxrwx. 2 root oinstall 90 2. Jan 15:05.

drwx ------. 3 wurzel wurzel 79 2. Jan 15:20 ..

-rwxrwxrwx. 1 root oinstall 5893 2. Jan 15:38 cwallet.sso

-rwxrwxrwx. 1 root oinstall 0 2. Jan 15:05 cwallet.sso.lck

-rwxrwxrwx. 1 root oinstall 5848 2. Jan 15:38 ewallet.p12

-rwxrwxrwx. 1 root oinstall 0 2. Jan 14:48 ewallet.p12.lck


Alle Dateien gehören, wie empfohlen, oinstall. Orakel kann immer noch nicht die Brieftasche lesen.

Die Brieftasche wurde mit Auto-Login erstellt. also habe ich versucht mit dem parameter wallet_password zu setzen und nicht zu setzen; kein Unterschied.

Netzwerkverbindung zu Google Mail ist in Ordnung.

Irgendwelche Ideen, bitte?

Herzliche Grüße und vielen Dank für jede Hilfe hier ...

Klaus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.