我又在局域网内另一台pc端装了 oracle 10g 32位 client,客户端进行了tnsname.ORA的配置。装完后cmd下网络可以ping通,tnsping 服务名也可以连通。
于是我再当前PC客户端上装了PL/SQL Developer.进行数据库的管理,输入数据库用户名,密码,和tns服务名后无法正常连通。
出现ORA-12154: TNS: 无法解析指定的连接标识符。
折腾了好久,才调通。希望对新人朋友们有所启发。
排查故障的方法如下:
1)检查网络和TNSping 服务名是否正常通信。
2)检查客户端pc机环境下tnsname.ORA配置是否正确,服务器端的监听程序是否正常开启。
3)检查系统变量值(看这3个系统变量是否与本机安装的oracle客户端的版本匹配)
4)检查PL/SQL 软件版本是否与(pc客户端环境下的oracle的客户端的位数是否一致)
如oracle client 为32位,那PL/SQL 版本也应该为32位 (在win7或者win10环境下要进行兼容操作)
5)如果还是出现ora-12154错误,请检查PL/SQL的安装路径是否安装在C:Program Files(x86)PLSQL Developer.
如果是,请现卸载当前PLSQL软件,再次安装将Program Files(x86)去掉,C:PLSQL Developer 推荐安装此路径。
安装后进行相关的连接配置,首选项进行配置。具体如下
添加后 点击Apply
PL/SQL 重新启动,可以输入对应的密码进行连接
PL/SQL连接远程服务器数据库,出现ORA-12154: TNS: 无法解析指定的连接标识符。
标签:密码 远程 服务器端 win oracle 环境 服务器 com eve
小编还为您整理了以下内容,可能对您也有帮助:
在登陆sql plus时老是出现错误提示 ora-12154:tns:无法解析指定的连接标识符
一、原因:pl/sql 每当oracle client中service name发生变化,都会按照client安装目录下最新的tnsnames.ora,去作为它的读取文件;如果该文件在卸载oracle client后被手工删除或手工改动过后,未在oracle client中修改;则会报“ORA-12514:tns:无法解析指定的连接标识符”错误。
二、解决方法:
1、用tnsping 检测 plSQL登陆时database(数据库)别名是否可正确解析,如报“TNS-03505:无法解析名称”,则此database别名有冲突,需更改。
2、手工改动tnsnames.ora后,在oracle client中修改主机名(“对象”--“将数据库添加到树”--“从本地的……”,然后把错误主机名删除或从树中移除)
3、重新打开plSQL,用正确的database别名登陆,即恢复正常
4、如仍有问题,不登陆进入plSQL界面"tools”--"Preferences"--"Oracle"--"Connection",把"home”(oracle主目录名)里的数据清空,应用后,重新启动plSQL即可。
三、附录:
1、在做以上更改后oracle自带的sqlPLUS,可能会出现不能正常登陆远程服务器的情况;因为其访问的是database下的tnsnames.ora文件,目录与client的不一样,默认为 X(盘符):oracleproct10.2.0db_1NETWORKADMINtnsnames.ora
2、解决方法:只需将client下tnsnames.ora中定义的主机字符串(service_name)的命令行复制到database 下的tnsnames.ora内,然后保存就可以了。
如何解决ORA-12154:TNS:无法解析指定的连接标识符
问题ORA-12154:TNS:couldnotresolvetheconnectidentifierspecified,即无法解析指定的连接,这说明缺少了一个环境变量,TNS_ADMIN。找到PLSQL中的oraclehome(主目录)和OCIlibrary(oci.dll地址)配置。
用tnsping检测plSQL登陆时database(数据库)别名是否可正确解析,如报“TNS-03505:无法解析名称”,则此database别名有冲突,需更改。
orcl这个代表的是连接的服务名。不是数据库名。服务名在你的开始菜单oracle中找到配置移植工具。找到netmanager中配置。因为你连接的是本机。所以可以无需写服务名。如果到公司。你只能连接公司的专用的数据库机器。
你的ip地址:1521/你的数据库实例(你的监听里写的这个SYSTEM)比如:1916164:1521/SYSTEM连接为:Normal不行的话运行:services.msc打开服务,重启OracleTNSxxx和OracleServerORCL这2个服务手打。
看看行不行?我本机可以跑的配置是上面这样写的。如果不行。
oracle TNS问题 ORA-12154: TNS:could not resolve the connect identifier specified
1、问题 ORA-12154: TNS:could not resolve the connect identifier specified ,即无法解析指定的连接,这说明缺少了一个环境变量,TNS_ADMIN 。
2、找到PLSQL中的oracle home(主目录)和OCI library(oci.dll地址)配置。
3、核对完上述问题后如发现问题仍旧没有解决,查看tnsnames.ora文件,查看数据库配置信息前面是否有空格。
4、查看环境变量的设置是否正确,在环境变量path中添加oracle客户端的安装路径。
如何解决ORA-12154 “TNS:无法解析指定的连接标识符”这个问题?
1、检查服务
出现这种问题,首先我们想到的是检查服务有没有问题OracleOraDb11g_home2TNSListener。在运行中输入services.msc,打开服务窗口,看看OracleOraDb11g_homeTNSListener这个服务是否正在运行,如果没有运行,则启动。
2、使用SQL PLUS测试连接。
如果还有问题,我们使用SQL PLUS测试是否能够连接。运行输入cmd,在命令提示符窗口中输入sqlplus sys/密码@数据库SID as sysdba如:
3、检查tnsnames.ora配置
在客户端的安装路径下,我的是D:oracleinstantclient_12_1NETWORKADMIN,创建一个文件,名为:tnsnames.ora,如果之前创建过了,则直接打开住里追加就行了。在tnsnames.ora中追加如下内容:
SID名 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = SID名))
注意SID名前面不能有任何其他字符,尤其是空格!
保存后,看看能不能登录。如果还不行,在pl/sql developer的登录窗口中点“取消”按钮,进入pl/sql developer后,执行“工具”-> “首选项” -> 连接,按下图所示进行配置(其中oracle主目录就是oracle客户端的路径)。