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

Connexions aux bases de données Oracle Discussion :

Comment résoudre ce probléme : Exception d'E/S: Connection refused ?


Sujet :

Connexions aux bases de données Oracle

  1. #1
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut Comment résoudre ce probléme : Exception d'E/S: Connection refused ?
    Bonjour,

    sur une application web (java+oracle), j'ai quelques messages d'erreure de type :

    Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12516)(ERROR_STACK=(ERROR=(CODE=12516)(EMFI=4))))

    et dans d'autre cas , l'errure : ORA-00020 : maximum number of processus (150) exceeded !

    Alors je pense que ce sont des problémes de session !
    comment les résoudres .

    Merci d'avance.
    On est là pour partager notre savoir-faire !

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    ORA-00020 : Cela signifie soit que la base n'est pas assez largement dimensionnée soit que votre application ne ferme pas ses sessions inutiles.

    ORA-12516 : plus gênant je pense... utilisez-vous des dispatchers ? faites-vous des reload du listener ? que donne le "lsnrctl services" ?

  3. #3
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    ok,
    est ce que tu peux m'expliquer que signifie ces mots :
    TMP
    VSNNUM=150999297
    ERROR_STACK
    ERROR
    CODE=12516
    EMFI=4
    ?
    j'ai déjà crée cette application avec une BBD MYsql, et j'ai jamais tomber dans ce probléme, aprés pour la méme application j'ai la migré vers une BDD Oracle, c'est à dire que j'ai rien changé dans mes sessions concernant l'application java.

    je ne sais pas d'où vient le probléme ! surtout que le message d'errure s'affiche dans une page que je l'actualise automatiquement toutes les 20 seconds !

    merci de m'éclaircie un peu ces points,je vous serai reconnaissant si vous pouviez m'aider à résoudre ces petits bugs.

    merci d'avance.
    On est là pour partager notre savoir-faire !

  4. #4
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    VSNNUM : Version en décimal
    Chose étrange, il faut convertir en hexa pour y comprendre quelque chose
    150999297 ==> 9001101
    Vous utilisez donc un SQL de la v9

    Error_stack : c'est la pile d'erreur, c'est ce qu'il faut analyser

    CODE=12516
    ==> erreur ORA-12516
    $ oerr ora 12516
    12516, 00000, "TNS:listener could not find available handler with matching protocol stack"
    // *Cause: None of the known and available service handlers for the given
    // SERVICE_NAME support the client's protocol stack: transport, session,
    // and presentation protocols.
    // *Action: Check to make sure that the service handlers (e.g. dispatchers)
    // for the given SERVICE_NAME are registered with the listener, are accepting
    // connections, and that they are properly configured to support the desired
    // protocols.
    que donne
    ??

  5. #5
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut Connexion SHARED ou DEDICATED
    Bonjour,
    En bref, je développe une application Java (JSP) avec une BDD Oracle 9i.
    Dans un premier temps, j'avais un probléme de session, mais maintenant j'ai mis dans mon code Java, deux methode Opencon() et Closecon(), la première pour ouvrir la connexion à la BDD, et l'autre pour la clore.
    A chaque page, je fais appel à la méthode Opencon dans le header, et la Closecon() dans le footer de la page, comme ça, j'ouvre la connexion une seule fois par page.

    voici les deux méthode cités au-dessus :
    Dans une classe java j'ai :

    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
       public void OpenCon(){
       	 try {
    	 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    	 } catch (Exception e) {
    	  err="Impossible de charger le pilote jdbc pour Oracle";
    	 }
    	 try {
    	 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());	
    	 String DBurl = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MYHOST)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=MYSERVICE.DOMAINE)))";
    	 con = DriverManager.getConnection(DBurl, "USER", "PASSWORD");
    	 } catch (Exception e) {
    	 err+=", Connection non effectuée ! ";	
    	 }
       }
     
       public void CloseCon(){
    	   try{
    	   if ( stm != null ) stm.close();
    	   if ( con != null ) con.close();
    	   }catch(SQLException e) {
    	   err+=", Erreur de Déconnexion ! ";	
    	   }		
       } 
     
    // con et stm déjà définis dans ma classe.
    Apres j'ai lu des petits blocs de discussion, et j'ai mis le point sur ça :
    SERVER=DEDICATED et SERVER=SHARED

    Aussi je dois faire une petite configuration dans mon fichier tnsnames.ora, mais je sais pas où exactement !

    Aprés la résolution de probléme de session, j'ai constaté un autre obstacle, c'est le nombre de processus !
    Si je laisse ma page s'actualise automatiquement toutes les 20 second, dans un moment je recois l'erreur :

    Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12516)(ERROR_STACK=(ERROR=(CODE=12516)(EMFI=4))))
    et je ne peux me connecter à la BDD dans cet instant !

    A votre avis, le SERVER=DEDICATED ou SHARED, pourra m'aider pour résoudre ce probléme?
    Merci d'avance.
    On est là pour partager notre savoir-faire !

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    la base est bien en MTS ? A priori, j'ai tendance à penser qu'une nouvelle connexion est ouverte toutes les 20 secondes contrairement à ce que tu cherches à faire

  7. #7
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    Bon,
    je ne sias pas si la BDD est multithreaded shared servers,
    et d'aprés ce que j'ai dis, j'ouvre la connexion et je la ferme dans le footer, donc je ne la laisse pas ouverte.

    On est là pour partager notre savoir-faire !

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Pourquoi pas laisser la connexion ouverte jusqu'à ce que l'écran soit fermé

    PS : le footer pour un DBA Oracle c'est pas franchement parlant

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    que donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select CURRENT_UTILIZATION, MAX_UTILIZATION, LIMIT_VALUE from v$resource_limit where resource_name = 'processes';

  10. #10
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    bon ok, c'est vrai footer c'est pas un mot technique d'un DBA.
    la requête donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CURRENT_UTILIZATION MAX_UTILIZATION LIMIT_VALU
    ------------------- --------------- ----------
                     13              14        150
    Et pour l'instant, j'ai pas le probléme de :
    Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12516)(ERROR_STACK=(ERROR=(CODE=12516)(EMFI=4))))

    j'ai redemarré la BDD.
    Est ce qu'il faut que j'exécute la requête dans le moment où je recois l'erreur Connection refused(.... ?
    On est là pour partager notre savoir-faire !

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    je pense que c'est la limit du profil qu'il faut voir, 150 c'est peut-être insuffisant. Regarde coté MTS si c'est bien paramétré aussi.

  12. #12
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Essayez de vérifier toutes les étapes comme indiqué dans ce message.

    Si on vous demande le résultat de la commande suivante à exécuter sur le serveur qui héberge la base, c'est que c'est utile


  13. #13
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par orafrance Voir le message
    Regarde coté MTS si c'est bien paramétré aussi.
    oui mais comment je vais faire? désolé je suis encore novice dans le domaine DBA.

    voila le résultat de la commande :
    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
    SQL> $lsnrctl services;
     
    LSNRCTL for 32-bit Windows: Version 9.0.1.1.1 - Production on 13-NOV-2007 11:34:
    49
     
    Copyright (c) 1991, 2001, Oracle Corporation.  All rights reserved.
     
    Connexion Ó (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    RÚcapitulatif services...
    Le service "PLSExtProc" comporte 1 instance(s).
      L'instance "PLSExtProc", statut UNKNOWN, comporte 1 gestionnaire(s) pour ce se
    rvice...
        Gestionnaire(s) :
          "DEDICATED" Útabli : 0 refusÚ : 0
             LOCAL SERVER
    Le service "bdorcl" comporte 1 instance(s).
      L'instance "bdorcl", statut UNKNOWN, comporte 1 gestionnaire(s) pour ce servic
    e...
        Gestionnaire(s) :
          "DEDICATED" Útabli : 0 refusÚ : 0
             LOCAL SERVER
    Le service "bdusers" comporte 1 instance(s).
      L'instance "dbuser", statut UNKNOWN, comporte 1 gestionnaire(s) pour ce ser
    vice...
        Gestionnaire(s) :
          "DEDICATED" Útabli : 0 refusÚ : 0
             LOCAL SERVER
    La commande a rÚussi
    Vous n'avez pas me répondu sur la question de : SERVER = DEDICATED et SERVER=SHARED ? A quoi sert les deux? c'est quoi la différence?
    Excusez moi, je demande beaucoup d'informations, mais le probléme de processe persiste beaucoup.
    Merci d'avance.
    On est là pour partager notre savoir-faire !

  14. #14
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Si dans la chaîne de connexion JDBC vous avez:

    SERVICE_NAME=MYSERVICE.DOMAINE
    alors il faut que le listener correspondant:

    ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MYHOST)(PORT=1521)))
    associe à l'instance de la base le service en question. Il faudrait que

    retourne quelque chose comme:

    Service "MY_SERVICE.DOMAIN" has 1 instance(s).
    Instance "xxx", status READY, has 1 handler(s) for this service...
    C'est le cas si pour l'instance "xxx", le paramètre d'initialisation service_names est défini à "MY.SERVICE.DOMAIN".

    Que donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show parameter service_names
    sur la bonne instance ?

  15. #15
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Le paramètre SERVER=DEDICATED ou SERVER=SHARED spécifie comment le processus serveur qui va être connecté au client va être créé:
    • DEDICATED: chaque connexion a un processus dédié et ce processus ne travaille que pour une seule connexion.
    • SHARED: une connexion va utiliser un processus partagé déjà existant. Ce processus pourra travailler pour différentes connexions.

  16. #16
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par pifor Voir le message
    retourne quelque chose comme:
    C'est le cas si pour l'instance "xxx", le paramètre d'initialisation service_names est défini à "MY.SERVICE.DOMAIN".
    Que donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show parameter service_names
    sur la bonne instance ?
    Non, c'est juste j'ai changé le nom de service_names ! c'est toujours le même
    MYSERVICE.DOMAIN.

    alors le résultat de la commande lsnrctl services est bon?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> SHOW parameter service_names;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      MYSERVICE.DOMAIN
    Et s'il vous plaît, c'est quoi l'avantage et l'inconvénient de DEDICATED et SHARED ? coté serveur de BDD,MEMOIRE, et tous ce qui entre en joue ?

    Merci.
    On est là pour partager notre savoir-faire !

  17. #17
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    alors le résultat de la commande lsnrctl services est bon?
    Postez le résultat... Si le service n'apparaît pas, essayez sur l'instance en question:

    Et s'il vous plaît, c'est quoi l'avantage et l'inconvénient de DEDICATED et SHARED ? coté serveur de BDD,MEMOIRE, et tous ce qui entre en joue ?
    Réponse détaillée dans le message OTN (en anglais) référencé par ce message.

  18. #18
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    Bonjour,
    pas de nouveau concernant le probléme :"Exception d'E/S: Connection refused "?
    vous savez, dernierement, j'ai verouillé ma session, et j'ai laissé ma page s'actualise automatiquement, aprés presque 2 heures, j'ai constaté le probléme de :"Exception d'E/S: Connection refused ....." et je ne me connecte plus à la BDD via mon application, mais si je redémarre mon OEM (j'ai fait déconnecte puis connecte), j'ai pu se connecter à la BDD !

    Est-ce normale ?
    On est là pour partager notre savoir-faire !

Discussions similaires

  1. [ListView] Comment résoudre un problème de Binding/Multibinding rafraichissement ?
    Par Lookoum dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 26/09/2008, 09h27
  2. [MouseDoubleClick] Comment résoudre un problème de Focus ?
    Par pcayrol dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 25/09/2008, 23h29
  3. Réponses: 5
    Dernier message: 19/06/2008, 10h23
  4. Réponses: 12
    Dernier message: 27/08/2007, 12h33
  5. Réponses: 3
    Dernier message: 19/05/2006, 15h54

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