Je travaille sur une application qui utilise Oracle XE 11g comme SGBDR. Cela fonctionnait pendant plusieurs semaines, mais maintenant, j'ai commencé à recevoir un message d'erreur indiquant que la connexion était refusée.
J'ai redémarré mon système mais cela n'a pas aidé. J'ai désinstallé XE, supprimé tous les fichiers restants (même du registre) et réinstallé. Maintenant, je reçois un autre message d'erreur:
Le récepteur a refusé la connexion avec l'erreur suivante: ORA-12505, TNS: le récepteur n'a pas connaissance du SID indiqué dans le descripteur de connexion.
J'ai lu des informations sur cette erreur et d'autres ont suggéré d'ajouter un nouveau SID au fichier listener.ora:
(SID_DESC =
(SID_NAME = XE)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
)
Si je le fais, je reçois un autre message d'erreur:
ORA-01034: Oracle non disponible ORA-27101: le domaine de la mémoire partagée n'existe pas
Mes fichiers de configuration sont: listener.ora
SID_LIST_LISTENER = (SID_LIST =
(SID_DESC =
(SID_NAME = XE)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
(PROGRAM = extproc)
) )
LISTENER = (DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(Host = AAROLD.in.mycompany.com)(PORT = 1521))
) )
DEFAULT_SERVICE_LISTENER = (XE)
tnsnames.ora
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = AAROLD.in.mycompany.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
lsnrctl status retourne avec:
LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 19-M┴RC. -2013 15:12:24
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
Start Date 19-M┴RC. -2013 15:01:12
Uptime 0 days 0 hr. 11 min. 11 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File C:\oraclexe\app\Oracle\product\11.2.0\server\network\admin\listener.ora
Listener Log File C:\oraclexe\app\Oracle\diag\tnslsnr\AAROLD\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=AAROLD.in.mycompany.com)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
Avez-vous une idée de ce que peut être le problème? Je ne suis pas un expert Oracle, je suis donc complètement dans le noir ici.
Votre base de données Oracle est en panne. Il peut y avoir un problème de démarrage.
Allez à l'invite de commande et tapez:
SQL> sqlplus/as sysdba
Si vous recevez un message "connecté à une instance inactive", tapez
SQL> démarrage
et laissez-moi savoir le message que vous recevez. Si vous n'obtenez pas le message "connecté à une instance inactive" au démarrage de SqlPlus, saisissez le type:
SQL> set lines 80 pages 50
SQL> select * from v $ database;
et poster la sortie ici.
J'ai eu exactement le même problème et après avoir passé presque 4 heures à essayer de trouver et de répondre, en ajoutant enfin
(SID_DESC =
(SID_NAME = XE)
(Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
)
à mon écouteur.ora et le redémarrage des deux services XE ont résolu le problème. J'utilise 11.2.0 (XE) sur Windows 7 x64 sans aucun accroc jusqu'à hier. Un redémarrage de mon PC ce matin a empêché l'auditeur de trouver le SID.
Maintenant, je sauvegarde à la fois listener.ora et tnsnames.ora.
par ailleurs, j'ai oublié de mentionner que j'ai changé le nom d'hôte dans les deux fichiers de bob.mycompany.com en localhost.
Sous Windows 7 64 bits, Orcale XE 11, mon service OracleXXETNSListener ne fonctionnait pas et s’arrêtait immédiatement lorsque j’ai essayé de le démarrer.
(SID_DESC = (SID_NAME = XE) (Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\serveur))
à mon
C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN\listener.ora
changer le nom d'hôte en localhost
le redémarrage du service OracleServiceXE sous Système - Services a résolu le problème.
Ainsi, la section complète listener.ora se présente comme suit:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(Oracle_HOME = C:\servers\oraclexe\app\Oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(Oracle_HOME = C:\servers\oraclexe\app\Oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = XE)
(Oracle_HOME = C:\servers\oraclexe\app\Oracle\product\11.2.0\server)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
J'ai eu un problème similaire et je l'ai résolu en supprimant les lignes "IPC" de listener.ora et de tnsnames.ora.
Sur listener.ora
, j'ai enlevé:
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
Sur tnsnames.ora
, j'ai enlevé:
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
C'était peut-être un peu exagéré, mais c'est finalement réglé, après plusieurs heures!
J'ai eu le même problème, l'erreur était que j'ai changé le nom de ma machine. Ceci a été résolu en modifiant le fichier listener.ora et en renommant l'hôte:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(Host = hostname_of_my_machine)(PORT = 1521))
)
)