Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 08/11/2007, 10h54   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Par défaut Configuration pour le web

Bonjour à tous,
j'ai developpé un site web en ASP.NET qui tourne sous IIS. Celui-ci accède à une base Oracle10g XE.
Il fonctionne normalement au début mais au bout de quelques minutes, j'obtiens la message suivant :
ORA-12520: TNS : le processus d'écoute n'a pas pu trouver de gestionnaire disponible pour le type de serveur requis
Comment faut-il que je paramètre ma chaine de connexion à Oracle et comment faut-il que je paramètre le serveur Oracle ?
Merci de votre aide.
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 13h53   #2
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
Est-ce que:
- la base XE est locale ou distante ?
- le service Windows OracleXETNSListener est-il démarré côté serveur (=la machine où l'instance XE est démarrée) ?

Postez:
- le contenu du fichier listener.ora côté serveur
- le contenu du fichier tnsnames.ora côté client
- le résultat des commandes SQL*Plus sur l'instance XE:

Code :
1
2
SHOW parameter local_listener
SHOW parameter service_names
- le résultat de la commande DOS:
Code :
1
2
 
lsnrctl services OracleXETNSListener
__________________
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 08/11/2007, 14h42   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Le serveur IIS et le serveur Oracle sont sur la meme machine.
IIS utilise l'alias LERWEB pour se connecter à Oracle.
TNSNames.ora :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LERWEB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = WEB)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )
 
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = WEB)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )
...
Listener.ora :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oraclexe\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\oraclexe\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
  )
 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = WEB)(PORT = 1521))
    )
  )
 
DEFAULT_SERVICE_LISTENER = (XE)
SHOW parameter local_listener renvoie :
local_listener string """vide"""

SHOW parameter service_names renvoie :
service_names string XE

et le statut du listener est :
TNS-01101: Impossible de trouver le nom de service OracleXETNSListener

Le service existe bien dans Windows (j'avais pas précisé que c'était Windows, oups )
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 14h47   #4
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
Votre listener s'appelle en fait "listener". Quel est le résultat de la commande DOS:

Code :
lsnrctl services listener
__________________
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 08/11/2007, 14h59   #5
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Voici le résultat
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
29
30
31
32
33
34
35
36
LSNRCTL FOR 32-bit Windows: Version 10.2.0.1.0 - Production ON 08-NOV. -2007 14:
58:00
 
Copyright (c) 1991, 2005, Oracle.  ALL rights reserved.
 
Connexion Ó (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
RÚcapitulatif services...
Le service "CLRExtProc" comporte 1 instance(s).
  L'instance "CLRExtProc", statut UNKNOWN, comporte 1 gestionnaire(s) pour ce se
rvice...
    Gestionnaire(s) :
      "DEDICATED" Útabli : 0 refusÚ : 0
         LOCAL SERVER
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 "XEXDB" comporte 1 instance(s).
  L'instance "xe", statut READY, comporte 1 gestionnaire(s) pour ce service...
    Gestionnaire(s) :
      "D000" Útabli : 2 refusÚ : 0 en cours : 2 max. : 1002 statut : ready
         DISPATCHER <machine: WEB, pid: 2232>
         (ADDRESS=(PROTOCOL=tcp)(HOST=WEB)(PORT=1032))
Le service "XE_XPT" comporte 1 instance(s).
  L'instance "xe", statut READY, comporte 1 gestionnaire(s) pour ce service...
    Gestionnaire(s) :
      "DEDICATED" Útabli : 0 refusÚ : 0 statut : ready
         LOCAL SERVER
Le service "xe" comporte 1 instance(s).
  L'instance "xe", statut READY, comporte 1 gestionnaire(s) pour ce service...
    Gestionnaire(s) :
      "DEDICATED" Útabli : 0 refusÚ : 0 statut : ready
         LOCAL SERVER
La commande a rÚussi
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h03   #6
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
Tout semble correct. Le nom de service à utiliser doit être LERWEB ou XE dans la chaîne de connection. Vérifiez depuis le client avec la commande DOS:

Code :
1
2
3
 
tnsping XE
tnsping LERWEB
__________________
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 08/11/2007, 15h06   #7
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Le tnsping est ok.
Tout marche bien au début mais c'est seulement après plusieurs minutes d'utilisation du site web qu'il n'accepte plus les connections.
Je dois mettre quelque de spécial dans la ConnectionString (coté client) ?
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h14   #8
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
A priori, non.

C'est peut-être un problème de resources de la base de données.
Est-ce qu'il y a des erreurs dans le fichier alert de l'instance à ce moment là ?
__________________
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 08/11/2007, 15h23   #9
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
Il y a bug référencé sur Metalink qui peut correspondre à ce problème:

Citation:
Subject: Database Connections Are Left Open By Oracle Objects for OLE (OO4O)
Doc ID: Note:417092.1 Type: PROBLEM
Last Revision Date: 05-JUN-2007 Status: PUBLISHED
Il n'y a pas de correction sur ce bug. Oracle recommende de modifier le code ASP en supprimant explicitement avec la méthode remove les OraParameters de l'objet OraDatabase.
__________________
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 08/11/2007, 15h25   #10
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
J'ai cette connectionstring :
Code :
connectionString="Data Source=LERWeb;Persist Security Info=True;User ID=monuser;Password=monpassword; Min Pool Size=10; Connection Lifetime=120; MAx Pool Size=30"
Avant, j'avais une connectionString sans "Min Pool Size=10;..." et cela faisait exactement la même chose?
Je le trouve où le fichier alert de l'instance ?

Je viens de refaire un test. Le TNSPing fonctionne toujours meme qd j'ai le message d'erreur de connection
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h27   #11
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
Je ne connais ni .Net, ni .ASP en détail.

Le fichier alert de l'instance est dans le répertoire désigné par le paramètre BACKGROUND_DUMP_DEST:

Code :
SHOW parameter background_dump_dest
__________________
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 08/11/2007, 15h28   #12
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Citation:
Envoyé par pifor Voir le message
Il y a bug référencé sur Metalink qui peut correspondre à ce problème:



Il n'y a pas de correction sur ce bug. Oracle recommende de modifier le code ASP en supprimant explicitement avec la méthode remove les OraParameters de l'objet OraDatabase.
Je n'ai pas de OraDatabase dans mon site web. Je suis en ASP.NET, j'utilise un SQLDatasource qui ont cette connectionString là.
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h33   #13
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
En me reconnectant à SQLPlus, il me met "Connecté à une instance inactive"


Dans le fichier alert :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Thu Nov 08 15:21:36 2007
Process J000 died, see its trace file
Thu Nov 08 15:21:36 2007
kkjcre1p: unable TO spawn jobq slave process 
Thu Nov 08 15:21:36 2007
Errors IN file d:\oraclexe\app\oracle\admin\xe\bdump\xe_cjq0_2220.trc:
 
 
Thu Nov 08 15:23:25 2007
Process J000 died, see its trace file
Thu Nov 08 15:23:25 2007
kkjcre1p: unable TO spawn jobq slave process 
Thu Nov 08 15:23:25 2007
Errors IN file d:\oraclexe\app\oracle\admin\xe\bdump\xe_cjq0_2220.trc:
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 15h41   #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
Citation:
En me reconnectant à SQLPlus, il me met "Connecté à une instance inactive"
Est-ce que la variable d'environnement ORACLE_SID est bien postionnée à XE ?

Que contient un fichier .trc ?

A priori, il faut augmenter le paramètre JOB_QUEUE_PROCESSES mais je ne suis pas sûr que cela va résoudre le problème.

Est-ce qu'il y a des erreurs dans le fichier <ORACLE_HOME>\network\log\listener.log ?
__________________
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 08/11/2007, 16h00   #15
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Dans le fichier .trc en question :
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
Dump file d:\oraclexe\app\oracle\admin\xe\bdump\xe_cjq0_2220.trc
Thu Nov 08 15:21:36 2007
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle DATABASE 10g Express Edition Release 10.2.0.1.0 - Production
Windows Server 2003 Version V5.2 Service Pack 2
CPU                 : 2 - type 586, 1 Physical Cores
Process Affinity    : 0x00000000
Memory (Avail/Total): Ph:467M/1023M, Ph+PgF:1840M/2469M, VA:1542M/2047M
Instance name: xe
 
Redo thread mounted BY this instance: 1
 
Oracle process number: 10
 
Windows thread id: 2220, image: ORACLE.EXE (CJQ0)
 
 
*** SERVICE NAME:(SYS$BACKGROUND) 2007-11-08 15:21:36.128
*** SESSION ID:(41.1) 2007-11-08 15:21:36.128
*** 2007-11-08 15:21:36.128
Process J000 IS dead (pid=1624, state=3):
*** 2007-11-08 15:23:25.126
Process J000 IS dead (pid=1264, state=3):
Dans le log du listener :
Code :
1
2
3
4
08-NOV. -2007 15:19:46 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=WEB)(USER=NETWORK?SERVICE))) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.16.1.240)(PORT=1074)) * establish * XE * 12520
TNS-12520: TNS : le processus d'écoute n'a pas pu trouver de gestionnaire disponible pour le type de serveur demandé
08-NOV. -2007 15:19:47 * service_update * xe * 0
08-NOV. -2007 15:20:01 * ping * 0
Pour le Oracle_SID, j'avoue ne pas savoir comment l'afficher sous Windows.
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 16h06   #16
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
Pour ORACLE_SID:

__________________
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 08/11/2007, 16h10   #17
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
JOB_QUEUE_PROCESSES = 4
PROCESSES = 40
et echo %Oracle_SID% ne fonctionne pas (me renvoie %Oracle_SID%)
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 16h20   #18
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 d'augmenter les paramètres JOB_QUEUE_PROCESSES de 4 à 10:

Code :
1
2
 
ALTER system SET job_queue_processes=10;
Il faudrait aussi savoir combien de sessions peuvent être ouvertes par l'application et en déduire le bon paramètre pour PROCESSES.
__________________
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 08/11/2007, 16h34   #19
Invité de passage
 
Inscription : septembre 2007
Messages : 18
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 18
Points : 4
Points : 4
Citation:
Envoyé par pifor Voir le message
Il faudrait aussi savoir combien de sessions peuvent être ouvertes par l'application et en déduire le bon paramètre pour PROCESSES
Ben en fait, je ne sais pas exactement ce que fait .Net au niveau de la connection mais à mon avis, elle reste ouverte.
ste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 16h40   #20
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
Vous pouvez vérifier avec V$SESSION: la colonne LOGON_TIME donne l'heure exacte de connexion.

Dans votre cas, il ne faut pas hésiter à augmenter JOB_QUEUE_PROCESSES et PROCESSES. Augmenter PROCESSES nécessite de redémarrer l'instance.
Voir mon message (en anglais) sur OTN.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor 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 10h41.


 
 
 
 
Partenaires

Hébergement Web