Welcome 微信登录

首页 / 数据库 / MySQL / EasyConnect出现ORA-12154(无法解析指定的连接标示符)错误的解决

今天在群里碰见了一个ORA-12154的问题,在此记录一下解决过程
起因是群里面一个人问了他的Windows客户端采用easy connect方式连接Oracle服务器的时候,报错如下:
ORA-12154:TNS:无法解析指定的连接标示符
最初的想法是在服务器端的listener没有相关的service_name来接收请求,不过他后来给出的截图表明,确实有相关的service_name来接收这个请求。
而使用同样的easy connect语句,在另外一台服务器上,却是能够成功连接的。那么就说明是这台windows客户端的问题了
找了相关资料之后把问题锁定在了sqlnet.ora文件的一个参数上:
NAMES.DIRECTORY_PATH
查找文件找出这个文档的功能描述如下(具体可以参考:http://docs.oracle.com/cd/B19306_01/network.102/b14213/sqlnet.htm#sthref370):
Use the parameter NAMES.DIRECTORY_PATH to specify the order of the naming methods used for client name resolution lookups.
DEFAULT:
NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname)
VALUES:
tnsnames                    local naming naming method
ldap                        directory naming naming method
ezconnect or hostname      easy connect naming or host naming method
CDS                        CDS external naming method
nis                        Network information service(NIS) external naming method
从上文的说明当中,可以看到的是,该参数是指定客户端的命名方法的
针对如上问题,做了下面这个实验:
现在在使用tnsnames和Easy Connect都能正常连接客户端上将NAMES.DIRECTORY_PATH参数修改为如下值:
NAMES.DIRECTORY_PATH = (TNSNAMES)
然后我们在使用Easy Connect的连接方式进行连接,会发现:
D:>sqlplus mai/mai@192.168.0.123:1521/test
SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 8月 2 17:42:12 2013
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
请输入用户名:
好吧,就是这样。这个时候如果使用tnsnames进行连接的话,是依旧可以正常连接的
我们如果将参数修改为:
NAMES.DIRECTORY_PATH = (TNSNAMES,EZCONNECT)
Easy Connect连接方式可以正常连接
总结,在默认情况下,即使我们不配置NAMES.DIRECOTRY_PATH参数的话,我们依然可以用easy connect的连接方式连接Server端的,不过如果出现配置错误或者客户端类似的异常情况的话,这不失是一种解决方式相关阅读:SPFILE 错误导致数据库无法启动(ORA-01565) http://www.linuxidc.com/Linux/2013-08/88932.htmORA-01172、ORA-01151错误处理 http://www.linuxidc.com/Linux/2013-06/86529.htmORA-00600 [2662]错误解决 http://www.linuxidc.com/Linux/2013-06/86528.htmORA-01078 和 LRM-00109 报错解决方法 http://www.linuxidc.com/Linux/2012-07/66044.htmORA-00471 处理方法笔记 http://www.linuxidc.com/Linux/2013-09/90017.htmORA-00314,redolog 损坏,或丢失处理方法 http://www.linuxidc.com/Linux/2013-09/90646.htmORA-00257 归档日志过大导致无法存储的解决办法 http://www.linuxidc.com/Linux/2013-09更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12MySQL事务学习 --> 分布式事务如何向shell scripts中的交互过程推送文本信息相关资讯      ORA-12154 
  • ORA-12154,ORA-12560解决过程  (03月01日)
  • ORA-12154: TNS: 无法解析指定的连  (08/04/2015 08:45:24)
  • exp/imp导出导入数据时报错ORA-  (01/03/2014 21:30:40)
  • ORA-12154 TNS不能解析指定的标识  (01月12日)
  • Oracle客户端简易连接报错ORA-  (07/21/2015 14:50:56)
  • Oracle 10g ORA-12154 TNS:无法解  (06/06/2013 19:37:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数