TNSPING OK mais sqlplus donne ORA-12154?
J'ai Oracle 11 en cours d'exécution sur un serveur Windows et je suis connecté sur le même serveur, essayez d'utiliser SQL Plus. Lorsque j'essaie de me connecter, je reçois un ORA-12154 même si TNSPING et divers autres diagnostics regarder OK.
Quelqu'un peut-il suggérer pourquoi ? Les charges de détail ci-dessous.
Je peux utiliser sqlplus si j'utilise EZCONNECT comme ça ..
sqlplus EST/EST@192.168.10.15/ORCL
... mais si j'essaie de me connecter à l'aide de TNSNAMES comme ça ...
sqlplus EST/EST@ORCL
... Je reçois ...
ORA-12154: TNS:could not resolve the connect identifier specified
TNSPING fonctionne OK
C:\Documents and Settings\user1>tnsping ORCL
TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 12-NOV-2013 12:41:14
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL))
)
OK (20 msec)
Et la auditeur ressemble à ceci :
C:\Documents and Settings\user1>lsnrctl services
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 14-NOV-2013 12:02:59
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:55 refused:0 state:ready
LOCAL SERVER
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: MARIEL, pid: 2400>
(ADDRESS=(PROTOCOL=tcp)(HOST=mariel)(PORT=1045))
The command completed successfully
Et ce
C:\Documents and Settings\user1>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 14-NOV-2013 12:29:21
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Start Date 14-NOV-2013 11:41:10
Uptime 0 days 0 hr. 48 min. 11 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\listener.ora
Listener Log File e:\app\administrator\diag\tnslsnr\mariel\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.15)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
Voici les différents fichiers de configuration:
auditeur.ora
# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_2)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product.2.0\dbhome_2\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521))
)
)
ADR_BASE_LISTENER = E:\app\Administrator
tnsnames.ora
# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
sqlnet.ora
# sqlnet.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
OriginalL'auteur glaucon | 2013-11-13
Vous devez vous connecter pour publier un commentaire.
Créer une variable d'environnement TNS_ADMIN qui pointe vers le répertoire où votre tnsnames.ora fichier réside. Puis essayez de vous connecter avec sqlplus.
Si cela fonctionne, je suppose que vous avez peut-être installé le logiciel client Oracle de trop, et quand vous exécutez sqlplus, il semble pour le tnsnames.ora fichier dans votre client de la maison.
-- Instructions pour l'Ajout de la variable d'Environnement TNS_ADMIN dans windows
1. Allez dans panneau de configuration /système
2. sélectionnez paramètres système Avancés
3. Sélectionnez l'onglet "Avancé", et la variable d'environnement bouton est en bas.
4. créer une nouvelle variable TNS_ADMIN et donner le chemin d'accès où la .ora fichiers sont stockés. par exemple C:\app\oracle\product\11.2.0\client_1\network\admin
Merci. Cela a fonctionné. Je n'arrive toujours pas à comprendre comment tnsping pouvez trouver tnsnames.ora, mais sqlplus besoin d'aide à partir d'une variable d'environnement?!
OriginalL'auteur DCookie
Sqlplus va donner à cette erreur si vous avez un arobase (@) dans votre mot de passe, ce que vous faites. Sqlplus pense que vous saisissez la chaîne de connexion en tant que paramètre. Changer votre mot de passe (vous pouvez le faire avec SQL Developer).
Morale: Ne pas utiliser au-les signes d'Oracle mots de passe.
C'était mon problème. Je n'aurais pas deviné que depuis je n'ai pas entrer le mot de passe à l'aide de la commande unique pour se connecter. J'ai attendu pour l'invite. C'est ridicule!
OriginalL'auteur Gary