|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
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. |
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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 :
Code :
|
||||
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
Le serveur IIS et le serveur Oracle sont sur la meme machine.
IIS utilise l'alias LERWEB pour se connecter à Oracle. TNSNames.ora : Code :
Code :
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 |
||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Votre listener s'appelle en fait "listener". Quel est le résultat de la commande DOS:
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
Voici le résultat
Code :
|
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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:
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
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) ? |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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à ? |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Il y a bug référencé sur Metalink qui peut correspondre à ce problème:
Citation:
|
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
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" 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 |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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: |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
Je n'ai pas de OraDatabase dans mon site web. Je suis en ASP.NET, j'utilise un SQLDatasource qui ont cette connectionString là.
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
En me reconnectant à SQLPlus, il me met "Connecté à une instance inactive"
Dans le fichier alert : Code :
|
||
|
|
00
|
|
|
#14 | |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Citation:
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 ? |
|
|
|
00
|
|
|
#15 | ||||
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
Dans le fichier .trc en question :
Code :
Code :
|
||||
|
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
|
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
JOB_QUEUE_PROCESSES = 4
PROCESSES = 40 et echo %Oracle_SID% ne fonctionne pas (me renvoie %Oracle_SID%) |
|
|
00
|
|
|
#18 | ||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Essayez d'augmenter les paramètres JOB_QUEUE_PROCESSES de 4 à 10:
Code :
|
||
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 18 ![]() |
|
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com