|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
Bonjour,
J'ai le problème suivant : Quand je veux accéder à la base de données à partir du serveur, j'ai le message "ORA-12514: TNS : le processus d'écoute ne connait pas actuellement le service demandé dans le descripteur de connexion". Cette erreur n'arrive pas systématiquement à chaque démarrage de la machine mais arrive très régulièrement. Les services Oracle sont démarrés automatiquement au démarrage de la machine. J'utilise Oracle 10g Express Release 2 (Version 10.2.0.1). Résultat du TNSPING: --------------------- TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 12-D╔C. -2007 10:11:18 Copyright (c) 1997, 2005, Oracle. All rights reserved. Fichiers de paramètres utilisés : C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\sqlnet.ora Adaptateur TNSNAMES utilisé pour la résolution de l'alias Code :
Le problème survient au démarrage de la machine, les services Oracle sont indiqués comme démarrer, ci-joint le contenu des fichiers Oracle : Code :
Code :
Merci par avance de votre aide. |
||||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Inscription : mai 2002 Messages : 831 ![]() |
a ce niveau là:
Code :
SQLNET.AUTHENTICATION_SERVICES = (NTS)
__________________
Ne pas savoir n’est pas une faute si l’on cherche à combler ses lacunes. "Il n'y a pas d'obstacles infranchissables , il y a des volontés plus ou moins énergiques voilà tous" Jules Vernes |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
Je n'ai pas de netmgr sous Oracle 10g Express.
Il faut ajouter dans le fichier SqlNet.Ora la ligne suivante ? HOSTNAME = <Le nom de la machine> |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : mai 2002 Messages : 831 ![]() |
haaaa vi de vi
tu est avec XE .... ajoute cette ligne dans sql.ora : Code :
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) vérifie , également, que dans le panneau des services , les services de oracle démarre automatiquement . Ainsi que dans le firewall de windows (version que tu n'a pas précisé) le port ne soit pas bloqué . Bien évidement dans le fichier host , tu auras mis l'adresse IP avec le nom de la machine (FQDN)
__________________
Ne pas savoir n’est pas une faute si l’on cherche à combler ses lacunes. "Il n'y a pas d'obstacles infranchissables , il y a des volontés plus ou moins énergiques voilà tous" Jules Vernes |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
J'ai modifié comme tu me l'avais spécifié et au bout du 3ème reboot la base de données n'est pas montée correctement.
J'utilise Windows XP SP2 avec les dernières mise à jour. Le pare feu de Windows est désactivé. Les services Oracle (OracleServiceXE, OracleXETNSListener) sont paramétrés en automatique. Caractéristique de la machine : Intel Celeron, Processor 1GHz, 1 Go RAM. J'ai pu constaté que lorsque la base de données est montée correctement le process Oracle.Exe utilise environ 50Mo de Ram et lorsque la base n'est pas correctement montée Oracle.Exe ne prend que 7Mo. |
|
|
00
|
|
|
#6 | ||||
|
Membre émérite
![]() Inscription : mai 2002 Messages : 831 ![]() |
fais une sauvegarde ou une copie des fichiers tnsnames.ora et listener.ora.
modifie le tnsnames.ora pour qu'il devienne ceci : Code :
c'est a dire que tu supprime tous ce que tu ne te sert pas . Pour le fichier listener.ora tu ne garde que ceci : Code :
Code :
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
__________________
Ne pas savoir n’est pas une faute si l’on cherche à combler ses lacunes. "Il n'y a pas d'obstacles infranchissables , il y a des volontés plus ou moins énergiques voilà tous" Jules Vernes |
||||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
Ca ne change rien, au bout de 3 reboots la base de données ne monte pas correctement. le service OracleSerciceXE est spécifié démarrer dans les services mais la base de données n'est pas accessible, le process Oracle prend a peine 1Mo de Ram.
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Vérifiez que la clé de registre ORA_XE_AUTOSTART a la valeur TRUE. Sinon, est-ce qu'il y a des messages d'erreur au démarrage de l'instance ou un message particulier à la connexion ? Que contient le fichier alertXE.log au démarrage de la machine (ce fichier log est situé dans le chemin désigné par le paamètre BACKGROUND_DUMP_DEST) ?
A priori, il n'est pas nécessaire de modifier les fichiers de configuration Oracle Net (listener.ora, tnsnames.ora) s'il s'agit des fichiers créés lors de l'installation de Oracle XE. |
|
|
00
|
|
|
#9 | ||
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
Je vais peut-être dire une bêtise, mais y a-t-il une raison particulière pour laquelle dans le tnsnames.ora on lit ADDRESS directement dans DESCRIPTION sans qu'elle soit encapsulée dans ADDRESS_LIST comme ceci :
Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
Je vais peut-être dire une bêtise, mais y a-t-il une raison particulière pour laquelle dans le tnsnames.ora on lit ADDRESS directement dans DESCRIPTION sans qu'elle soit encapsulée dans ADDRESS_LIST comme ceci (et comme dans les paragraphes suivants de ce tnsnames):
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
désolée, j'ai dû déraper un peu sur mon clavier et envoyer avant de terminer le message...
|
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
La clé de registre ORA_XE_AUTOSTART est bien à TRUE.
L'erreur n'est pas systématique, elle se produit environ une fois sur 3 au démarrage de la machine. Il n'y a pas de message au démarrage de l'instance. Ci-joint le message quand j'essaye de me connecter à la base de données : ------------------------------------------------------------------------ ORA-12514: TNS : le processus d'écoute ne connait pas actuellement le service demandé dans le descripteur de connexion". Ci-joint le contenu du fichier "listener.log" : ----------------------------------------- Code :
|
||
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Votre problème semble être un problème de configuration Oracle Net (couche réseau) et non un problème de démarrage de base.
Que retourne la commande SQL*Plus: Que donne: Voir l'exemple de configuration suivant, non lié à XE. De plus il faut parfois attendre que le listener soit prêt et que l'instance soit enregistrée dans le listener ce que lsnrctl permet de vérifier. |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
Résultat de la commande "SHOW parameter service_names" quand la base de données est accessible :
------------------------------------------------------------------------- NAME TYPE VALUE ------------------------------------ ----------- ------------------------- service_names string XE Résultat de la commande "lsnrctl services" quand l'accès à la base de données est accessible : ------------------------------------------------------------------ Copyright (c) 1991, 2005, Oracle. All rights reserved. Connexion Ó (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ARK3383)(PORT=1521))) RÚcapitulatif services... Le service "XEXDB" comporte 1 instance(s). L'instance "xe", statut READY, comporte 1 gestionnaire(s) pour ce service... Gestionnaire(s) : "D000" Útabli : 0 refusÚ : 0 en cours : 0 max. : 1002 statut : ready DISPATCHER <machine: ARK3383, pid: 1708> (ADDRESS=(PROTOCOL=tcp)(HOST=ark3383.dickson-constant.com)(PORT=1077)) Le service "XE_XPT" comporte 1 instance(s). L'instance "xe", statut READY, comporte 1 gestionnaire(s) pour ce service... Gestionnaire(s) : "DEDICATED" Útabli : 1 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 : 1 refusÚ : 0 statut : ready LOCAL SERVER La commande a rÚussi Résultat de la commande "lsnrctl services" quand l'accès à la base de données n'est pas accessible : ------------------------------------------------------------------ LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-D+C. -2007 14: 38:18 Copyright (c) 1991, 2005, Oracle. All rights reserved. Connexion Ó (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ARK3383)(PORT=1521))) Le processus d'Úcoute ne prend en charge aucun service La commande a rÚussi |
|
|
00
|
|
|
#15 | |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Il faut parfois attendre 1 minute. Vous pouvez forcer l'enregistrement du service avec :
Citation:
|
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
Quand la base de données n'est pas accessible, je suis obliger d'arrêter et de redémarrer le service "OracleServiceXE".
J'ai modifié le fichier "listener.ora" comme vous me l'avez indiqué : -------------------------------------------------------------- SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ARK3383)(PORT = 1521)) ) ) J'ai modifié le fichier "tnsnames.ora" comme vous me l'avez indiqué : ---------------------------------------------------------------- XE= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ARK3383) (PORT=1521)) ) (CONNECT_DATA = (SERVICE_NAME=XE) ) ) Au bout de 5 reboots, j'ai un problème d'accès à la base de données, si arrête et je redémarre les services Oracle ou que je reboot, j'arrive à accèder à la base de données ! |
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Je répète ma question:
combien de temps exactement attendez-vous après que l'instance XE soit complètement démarrée ? Pour savoir quand l'instance est complètement démarrée, il faut regarder la date du message "alter database open" dans l'alert.log). |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 17 ![]() |
Le message "alter database open" dans l'alert.log est à 15:46:16 et j'ai tenté d'accéder à la base de données à 15:51:53 soit plus de 4 mn après le démarrage de l'instance.
|
|
|
00
|
|
|
#19 | ||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Sans aucun autre message d'erreur dans le fichier alert log, dans listener.log ou dans un fichier trace créé le répertoire BACKGROUND_DUMP_DEST, je ne vois pas ce qui ne peut pas marcher
![]() Contournements possibles: - ne plus utiliser la notion de service Oracle Net => modifier listener.ora Code :
Code :
XE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (HOST = <...>) (PROTOCOL = TCP) (PORT = 1521)) ) (CONNECT_DATA = (SID = XE))) |
||
|
|
00
|
|
|
#20 | ||
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
J'ai eu le même message d'erreur tout récemment et je m'étais trompée de sid dans le tnsnames. Bref, la couche net est bien compliquée (et très sensible, voire susceptible) pour une débutante mais dans le cas exposé, je ne comprends pas pourquoi il n'y a pas de paramètre SID dans le listener.ora. un exemple :
Citation:
Citation:
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com