Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Connexions aux bases de données
Connexions aux bases de données Forum d'entraide sur les problèmes de connectivité Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/10/2007, 12h06   #1
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 12h51   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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" ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 13h50   #3
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 15h12   #4
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
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
Citation:
$ 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
??
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 10h36   #5
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 :
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 11h15   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 11h19   #7
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 11h24   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 11h26   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
que donne ceci :
Code :
SELECT CURRENT_UTILIZATION, MAX_UTILIZATION, LIMIT_VALUE FROM v$resource_limit WHERE resource_name = 'processes';
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 12h06   #10
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
bon ok, c'est vrai footer c'est pas un mot technique d'un DBA.
la requête donne :

Code :
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 12h14   #11
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 12h27   #12
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
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

__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 12h45   #13
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 :
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 12h54   #14
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Si dans la chaîne de connexion JDBC vous avez:

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

Citation:
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:

Citation:
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 :
SHOW parameter service_names
sur la bonne instance ?
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 13h03   #15
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
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.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 13h16   #16
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 :
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 :
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 14h10   #17
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
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:

Citation:
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.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 16h19   #18
Membre régulier
 
Avatar de adil_vpb
 
Inscription : août 2006
Messages : 315
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : août 2006
Messages : 315
Points : 80
Points : 80
Envoyer un message via MSN à adil_vpb Envoyer un message via Yahoo à adil_vpb
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 !
adil_vpb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h01.


 
 
 
 
Partenaires

Hébergement Web