ORA-12505, TNS:auditeur ne savent pas aujourd'hui de SID donné dans le descripteur de connexion. Eclipse et Fedora 20 via JDBC
J'ai installé Oracle 11g XE sur une Fedora 20 de la Machine Virtuelle, la configuration et l'ensemble de l'environnement des variables (l'exécution de l' oracle_env.sh
). J'ai cette erreur lorsque vous essayez de vous connecter Eclipse avec la base de données via jdbc, à l'aide de cette chaîne "jdbc.databaseurl=jdbc:oracle:thin:@192.168.88.134:1521:XE"
Je peux me connecter à la base de données dans la Machine Virtuelle via SQL*Plus (sqlplus /as sysdba
).
La $ORACLE_SID
variable est ok (XE
). J'ai déjà essayé d'arrêter et de démarrer l'auditeur, puis démarrage de la base de données, et l'utilisation de la alter system register;
commande.
Également de manière statique l'enregistrement de la base de données sans succès (je n'ai pas asure je n'ai pas l'erreur de faire cela, donc si quelqu'un pense que cela pourrait résoudre mon problème, je voudrais essayer de nouveau).
Ici est la listener.ora
fichier:
# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
Et la tnsnames.ora
fichier:
# tnsnames.ora Network Configuration File:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
Et lsnrctl status
:
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-MAR-2014 01:22:35
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 30-MAR-2014 22:41:35
Uptime 0 days 2 hr. 41 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/192/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.88.134)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
Je suis presque sûr que le problème est que l'auditeur ne sait pas sur la base de données. La commande précédente, en dehors de ce qu'elle montre, quelque chose comme
Service XE has 1 instance.
Instance "XE", status READY, has 1 handler for this service
... mais ça ne marche pas, et je ne sais pas comment résoudre ce problème.
Je suis nouveau à cela, principalement à Linux, donc je vais apprécier chaque détail dans les solutions que vous proposez.
uname -n
) résoudre, dans /etc/hosts
et via dig
? Et juste pour vérifier, pouvez-vous émettre alter system register
de votre SQL*Plus de session, puis vérifier le lsnrctl services
sortie de nouveau; et de vérifier si show parameters local_listener
montre une valeur vide?Autant que je sache, il n'a qu'une seule adresse IP. J'ai essayé le "modifier le système de registre" sans succès, l'auditeur statut de ramins inchangé.
J'ai juste vu que tu avais essayé de m'inscrire, désolé. Mais qu'est-ce que le nom de votre machine (à partir de
uname
), et ce qui ne /etc/hosts
pour le nom?uname: Linux. Je ne sais pas comment interprétons maintenant, mais c'est le contenu du fichier /etc/hosts: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
OriginalL'auteur Tony | 2014-03-31
Vous devez vous connecter pour publier un commentaire.
Cela ressemble à votre base de données est d'essayer de vous inscrire à l'aide de l'adresse IP incorrecte à communiquer avec l'auditeur. Votre écouteur est configuré pour écouter sur le 192.168.88.134, mais peut-être que la DB est en supposant que localhost (127.0.0.1), ou d'une ancienne propriété intellectuelle de la valeur si la configuration n'a jamais changé.
Par défaut de la base de données va tenter de s'inscrire sur le serveur de nom d'hôte externe (la valeur par défaut lorsque local_listener est vide), mais vous pouvez peut-être obtenir une valeur inattendue de celui - alors, qu'est-ce que dans
/etc/hosts
pour le nom de la machine de questions. Tout ce qui a causé cela, l'inscription semble être un échec.Vous pouvez indiquer explicitement à la DB pour enregistrer à l'aide de la réelle auditeur adresse:
Si cela fonctionne et
lsnrctl services
montre maintenantXE
, puis répétez l'set
de commande avecscope=both
à faire coller sur la prochaine DB redémarrer.wow, ce qui m'a sauvé
OriginalL'auteur Alex Poole
Dépannage:
ou
ajouter XE à votre SID_LIST comme:
lsnrctl recharger
vérifiez le journal des alertes pour les messages.
OriginalL'auteur Bjarte Brandt
Dans votre auditeur.ora:
Habituellement ici, par défaut, il est un nom d'hôte au lieu de l'adresse IP. Avez-vous fait quelque chose de spécial, de sorte que vous avez que la propriété intellectuelle (192.168.88.134)?
OriginalL'auteur Yavor