ORA-12154: TNS: 无法解析指定的连接标识符

转载 2013年12月04日 10:48:44

ORA-12154: TNS: 无法解析指定的连接标识符(原创)

(2010-06-25 17:04:27)

相信作为ORACLE数据库的开发人员没有少碰到“ORA-12154: TNS:无法解析指定的连接标识符”,今天我也又碰到了类似的情况,将我的解决方法进行小结,希望能对碰到同样问题的友人们提供帮助。

问题场景描述:

服务器端版本:oracle 10.2.0.10

客户端版本:oracle 10.2.0.10

客户端开发工具:PL/SQL Developer

通过客户端来连接服务器,其主要文件就是通过客户端的tnsnames.ora来配置,在原文件的基础上增加:

SID别名 =
  (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_IP)(PORT = 1521))
    )
   (CONNECT_DATA =
     (SID = SID_NAME)
    )
  )

例:

dev_db =
  (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT =1521))
    )
   (CONNECT_DATA =
     (SID = ora10)
    )
  )

通过PL/SQLDeveloper连接dev_db时,报“ORA-12154: TNS:无法解析指定的连接标识符”。(这个问题以前也碰到过,但解决方法不太一样,因具体的问题不太一样。)

 

我将自己知道的一些解决方法说一下:

1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听

 客户端:tnsping<tns_name>
     服务器Linux下:

     #>lsnrctl status查看监听状态

     #>lsnrctlstart 启动监听

2.通过Sql Plus连接一下试试,如果SqlPlus连接能成功,那就说明你的tnsnames.ora内容有错误

我的问题就在别名dev_db前面有一个空格,这个可以通过文本编辑器(EditPlus,UE等)来查看是否有空格,只要有空格那就肯定是不行的,而且如果那段内容是出现在文件的中间的话,将导致该文件里所有相应的连接别名都不成功,如果是在最后面就只有其自身连接别名不能成功,其他连接别名还是能连接成功。(注:我的tnsnames.ora配置了多个数据库实例的连接,所有才有多个连接别名。)

如:

空格dev_db =
  (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT =1521))
    )
   (CONNECT_DATA =
     (SID = ora10)
    )
  )

3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。

说明一下:那个目录里的文件是在你建立连接的时候动态生成的,不要怕删了会有问题

4.进入PLSQLDeveloper的主界面,在登录界面选择取消即不登录进入主界面,然后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(连接),对应设置窗口中,找到OracleHome(Oracle主目录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQLDeveloper,这时就可以正常登录了。

如果您还碰有ORA-12154错误代码的其他原因和有其他的解决方法,请跟贴评论我会加以完善这篇文章的!谢谢!


我再加一条: 换一个版本的PLSQL,这个是真坑爹啊。


转自:http://blog.sina.com.cn/s/blog_4fd24c720100k23o.html

【Oracle错误集锦】:ORA-12154: TNS: 无法解析指定的连接标识符

相信这个错误大家都不陌生,只要安装使用过Oracle的估计都遇到过这个问题,一般出现在用PL/SQL连接Oracle数据库的时候发生的。 导致这个错误的原因以及解决方案都是多种多样的,我也是三番五次...
  • u010028869
  • u010028869
  • 2015年06月30日 21:44
  • 3745

ORA-12154: TNS: 无法解析指定的连接标识符 - 解决方案

刚创建了一个数据库,准备用PL/SQL Developer登录时,出现如下错误信息:ORA-12154: TNS: 无法解析指定的连接标识符,(有时可能不会出现错误对话框,但也连不上,多试几次对会弹出...
  • itsonglin
  • itsonglin
  • 2015年06月09日 20:52
  • 42732

【解决方法】win7 x64 vs中sql语句连接 ora-12154:tns:无法解析指定的连接标识符

先吐槽:win7 x64比较特殊,很多地方都很特殊,所以装很多软件都废点劲。 背景: 操作系统:win7 x64 开发环境:VS2008 数据库:OracleDB1...
  • zhyl8157121
  • zhyl8157121
  • 2013年05月18日 18:07
  • 3949

ORA-12154:TNS:无法解析指定的连接标识符

 ORA-12154:TNS:无法解析指定的连接标识符 ORA-12154:TNS:无法解析指定的连接标识符   1问题的描述 Oracle11g server 64bit服...
  • minsenwu
  • minsenwu
  • 2015年04月26日 15:48
  • 56642

安装oracle总结ORA-12154 TNS无法解析指定的连接标识符

今天装oracle安装都完成了,但出现了“ORA-12154 TNS”的错误,最开始以为是oracle安装处了问题,但后来发现并不是,因为用SQL Plus可以登录,只是用plsql登录时才出现这...
  • liyanhui1001
  • liyanhui1001
  • 2013年07月25日 14:14
  • 9072

ora-12154:tns:无法解析指定的连接标识符(解决办法)

pl/sql 每当oracle client中service name发生变化,都会按照client安装目录下最新的tnsnames.ora,去作为它的读取文件;如果该文件在卸载oracle clie...
  • yuzongtao
  • yuzongtao
  • 2014年09月26日 17:26
  • 3128

ORA-12154:TNS:无法解析指定的连接标识符(本地安装oracle)

在本地安装oracle之后使用PL/SQL
  • white_smile
  • white_smile
  • 2014年07月24日 16:43
  • 922

c# oracle数据库 ORA-12154: TNS: 无法解析指定的连接标识符

首先我先描述一下我的问题: 我是用的vs2008开发的C#程序,win7 64位系统,我的系统中装有64 位oracle 11g的数据库和32为的client端。 如果不知道为什么这么装,先看本段落,...
  • xiaoshubiao
  • xiaoshubiao
  • 2013年12月10日 14:10
  • 3805

数据库连接 ORA-12154: TNS: 无法解析指定的连接标识符

tnsnames.ora orcl= (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST =lo...
  • maoyaqiong1
  • maoyaqiong1
  • 2015年04月28日 11:27
  • 2100

dblink ora-12154:TNS:无法解析指定的连接标识符

  报错如下: 网上找了一大堆资料,结果发现自己一直在使用client上面的服务名,应该使用服务器上的服务名!dblink是二个oracle数据库服务器之间通讯用的,在创建dblink时千万不能把cl...
  • rudymatrix
  • rudymatrix
  • 2009年08月18日 16:29
  • 10743
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORA-12154: TNS: 无法解析指定的连接标识符
举报原因:
原因补充:

(最多只允许输入30个字)