IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Absence de connexion SMTP pour un user


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 29
    Points : 30
    Points
    30
    Par défaut Absence de connexion SMTP pour un user
    Bonjour à tous.

    Problème qui me semble insoluble au moment présent.

    Un utilisateur <USER> héberge une procédure stockée qui permet d'envoyer des mels à différentes adresses mels. Cette procédure fonctionne depuis des mois, or depuis deux jours pas de réponse lorsque l'on sollicite la procédure.

    Après quelques essais, j'ai isolé la cause du problème, il se situe au niveau de la création de la connexion ; utl_smtp.open_connection.

    J'ai donc écris un morceau de code pour simplifier sa résolution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    set serveroutput on ;
    declare 
    l_connection utl_smtp.connection;
    begin
    DBMS_OUTPUT.PUT_LINE('demande ouverture smtp');
      l_connection := utl_smtp.open_connection('smtp.<domaine>', '25');
     
        DBMS_OUTPUT.PUT_LINE('ouverture smtp OK');
        --Cloture de la SMTP
    		UTL_SMTP.QUIT(l_connection);
        DBMS_OUTPUT.PUT_LINE('fermeture  smtp OK');
    end ;
    Quand je l'exécute, même résultat, cela boucle sans retourner la moindre erreur, même après 30 mn.
    J'ai pensé aux ACL qui aurait pu expliquer ce comportement.
    Résultats :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      select * from dba_network_acls;
    qui retourne 
    smtp.<domaine>	25	25	/sys/acls/mail_acces.xml	0000000080002896	SYS
    -- --------------------------------------------------
      SELECT acl,
              principal,
               privilege,
            is_grant,
            TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
               TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
       FROM   dba_network_acl_privileges
     
    /sys/acls/mail_acces.xml	<USER> connect	true
    Cela semblant OK, j'ai testé mon bout de code en SYS, C'est Ok pour la connexion SMTP !!

    Donc, problème de droits pour moi.

    En desespoir de cause j'ai donc détruit l'ACL pour le recréer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    BEGIN 
     
    	-- MISE EN PLACE DES ACL des serveurs MAIL
    	DBMS_OUTPUT.PUT_LINE('Création ACL pour le SMTP DEBUT - ' || TO_CHAR(SYSDATE,'HH24:MI:SS') );
     
    	SELECT CASE WHEN EXISTS
    		(
    			SELECT DISTINCT ACL FROM DBA_NETWORK_ACLS
    			WHERE ACL LIKE '%mail_acces.xml' 
    		) THEN 1 ELSE 0 END
    	INTO ACLEXIST FROM DUAL;
    	IF (ACLEXIST = 1) THEN
    		DBMS_OUTPUT.PUT_LINE('Suppression de l''ACL - mail_acces.xml -');	
     
    		--Suppression du fichier ACL FTP 
    		DBMS_NETWORK_ACL_ADMIN.DROP_ACL( acl => 'mail_acces.xml');	   
    	END IF;
     
     
    	-- ATTRIBUTION DES DROITS ACL à <USER> pour envoi de mel sur le SMTP
    	DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
    										acl          => 'mail_acces.xml'
    										, description  => 'Permissions pour accéder au serveur SMTP.'
    										, principal    => 'SYS'
    										, is_grant     => TRUE
    										, privilege    => 'connect'
    									);
     
    	DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
    										acl          => 'mail_acces.xml'
    										, host         => 'smtp.<domaine>'
    										, lower_port   => 25
    										, upper_port   => 25
    									);
     
    	DBMS_NETWORK_ACL_ADMIN.add_privilege (
    											acl          => 'mail_acces.xml'
    											, principal    => <USER>
    											, is_grant     => TRUE
    											, privilege    => 'connect'
    										);
     
    	DBMS_OUTPUT.PUT_LINE('Création ACL pour le SMTP FIN - ' || TO_CHAR(SYSDATE,'HH24:MI:SS') );
     
    END ;
    Malgré cette réécriture, le problème persiste, si quelqu'un a une piste je suis preneur.

    Bonne soirée à tous.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 29
    Points : 30
    Points
    30
    Par défaut
    Bonjour à tous,

    après de multiples vérifications du coté Oracle, je n'ai rien trouvé qui parvienne à expliquer cette anomalie.

    J'en suis arrivé à la conclusion qu'il était peut-être judicieux de redémarrer le serveur.

    Après une période de flottement de quelques minutes après le redémarrage, tout est rentré dans l'ordre.

    Néanmoins, je demeure assez inquiet sur ce qui est arrivé ; en effet, cela a eu lieu sur le serveur de dev mais je n'aimerai pas rencontrer ce type d'ennui au niveau de la prod (trop d'utilisateurs impactés).

    Donc si quelqu'un a un soupçon ou un début d'explication, je suis toujours preneur ; en particulier quelqu'un maîtrisant les interactions entre Oracle, le serveur, en l’occurrence un "Windows 2012 Datacenter" et le SMTP.

    Bonne fin de semaine à tous, et merci à ceux qui ont pris le temps de lire ma demande.

    Je passerai ma demande en résolu dans une semaine.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion ssh : permission denied pour 1 user sur 3
    Par chris0938 dans le forum Linux
    Réponses: 5
    Dernier message: 22/01/2013, 12h01
  2. pb connexion : invalid password for user
    Par lolo16 dans le forum Administration
    Réponses: 8
    Dernier message: 04/08/2005, 14h11
  3. [CE10 Pro] Erreur Connexion SQL pour etats publiés
    Par L.nico dans le forum Connectivité
    Réponses: 1
    Dernier message: 09/12/2004, 18h16
  4. connexion impossible pour imprimante en réseau !!!
    Par Petogaz dans le forum Développement
    Réponses: 11
    Dernier message: 30/09/2004, 11h24
  5. Pb de connexion sécurisée pour sites Internet et Intranet
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/07/2003, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo