如何解决ORA-12154:TNS:无法解析指定的连接标识符
发布网友
发布时间:2022-04-22 21:17
我来回答
共3个回答
懂视网
时间:2022-04-09 06:28
一、查看配置
oracle-db1-network-admin-listener.ora和tnsnames.ora
1.tnsnames.ora
数据库名称 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名称,例如,PC02320U.com.cn)(PORT = 1521(端口名)))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = 数据库全局域名)
)
)
2.listener.ora
(SID_DESC =
(GLOBAL_DBNAME = 数据库名称)
(ORACLE_HOME = D:oracleproduct10.1.0db_1(文件位置))
(SID_NAME =数据库名称 )
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =本机域名)(PORT = 端口号))
)
)
)
二、重启服务
计算机管理-服务与应用程序-服务-重启对应的服务
三、重启TNS
和上述方法类似
Oracle—TNS12154
标签:
热心网友
时间:2022-04-09 03:36
在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的方式连接,但是Oracle则需要通过Oracle客户端配置网络服务名的方式来连接。否则就会出现“ORA-12154: TNS: 无法解析指定的连接标识符”。配置Oracle客户端详细步骤如下:
安装好Oracle客户端之后,在开始菜单中依次找到“Oracle - OraClient10g_home1—>配置和移植工具—>Net Manager”并打开(Win7,Win8用户如果没有取得Administrator账号登陆需要以管理员方式运行),依次展开“Oracle Net配置—>本地—>服务命名”点击左侧“加号”配置新的网络服务
最后,点击“下一步”完成即可,如果不知道或者忘记Oracle服务名可以通过查看服务获得,比如我这里配置的主机名是我本机,在我的电脑服务中找到oracle相关的服务
通过上面的服务名称,可以看出我安装的服务名就是“ORCL”,或者在服务端通过SQL Plus使用sys账号登陆,输入命令
show parameter service_name查看。
OracleDBConsoleORCL是Oracle网页端管理工具的服务,访问地址一般为“http://127.0.0.1:1158/em/console/logon/logon”,如果不习惯用这个来管理数据库可以不用启动。
OracleJobSchelerORCL是管理Oracle中计划任务的,一般不用启动。
OracleOraDb10g_home1iSQL*Plus是SQL Plus的服务,如果不习惯在命令行下面操作数据库,可以不用启动。
OracleServiceORCL,OracleOraDb10g_home1TNSListener都需要开启,前者是主服务,后者是监听服务。
当在Oracle客户端中配置好Net Manager中配置好服务后就可以通过我们配置的网络服务名访问Oracle数据库了,此配置实质想D:\Oracle\proct\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora中增加了一行配置(由于我的Oracle是安装在D盘Oracle目录中,具体路径根据安装时选择的路径而定)。
# tnsnames.ora Network Configuration File: d:\Oracle\proct\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
如果在同一台电脑上面同时安装了Oracle客户端和服务端,那么在服务端的安装目录中也会存在同样的配置文件D:\Oracle\proct\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,在这种情况下如果我们配置好了客户端Net Manager然后连接Oracle数据库,可能会出现“ORA-12154: TNS: 无法解析指定的连接标识符”这时,你就应该怀疑,我到底访问的是哪个路径下的配置文件呢?此时可以使用tnsping命令
如果你是在客户端Net Manager中配置的网络服务,但是此时解析出来的使用参数文件却是D:\Oracle\proct\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora,那么我想你应该明白了。这种情况有两种解决办法:
第一:在服务端的Net Manager也配置相同的网络服务,或者直接拷贝D:\Oracle\proct\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora中的配置到D:\Oracle\proct\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,每次配置了新的网络服务你都需要这么做,如果不想这么麻烦那就使用第二种解决办法。
第二:修改系统环境变量Path值,将D:\Oracle\proct\10.2.0\client_1\bin;路径移至D:\Oracle\proct\10.2.0\db_1\bin;前面即可一劳永逸。
注意:造成以上这种情况出现的原因是:在一台电脑上同时安装了oracle客户端和数据库服务,并且是先安装客户端,再安装数据库服务造成的,如果先安装数据库服务,再安装客户端就不会出现这种情况了。
根据以上方式配置完oracle后,相信在程序中就可以正常连接oracle数据库了。
当我安装好PLSQL Developer软件后登陆时任然出现了“ORA-12154: TNS: 无法解析指定的连接标识符”,如果是Win7,Win8用户甚至可以会出现弹出一个白框的情况,这时需要以管理员身份运行PLSQL Developer,并且确保你的PLSQL Developer是读取的oracle客户端配置,直接取消登陆,在PLSQL Developer工具栏中找到“Tools—>Preferences”,在Oracle的Connection节点中找到Oracle Home选择OraClient10g_home1,保存后关闭PLSQL Developer就可以正常登陆了。
需要注意的是,在安装PLSQL Developer时不能安装在带有括号的目录中,如64bit系统的Program Files (x86)目录,就会出现无论你怎么设置,它依然不停的弹出“ORA-12154: TNS: 无法解析指定的连接标识符”。同样的问题也会出现在其他Oracle数据库管理软件中,比如Toad for Oracle
“ORA-12154: TNS: 无法解析指定的连接标识符”是使用Oracle数据库的新手遇到的比较常见的问题之一,只要我们了解了它的工作方式,冷静排查,相信很容易就能够找到问题的解决办法的。
热心网友
时间:2022-04-09 04:54
1、检查服务
出现这种问题,首先我们想到的是检查服务有没有问题OracleOraDb11g_home2TNSListener。在运行中输入services.msc,打开服务窗口,看看OracleOraDb11g_homeTNSListener这个服务是否正在运行,如果没有运行,则启动。
2、使用SQL PLUS测试连接。
如果还有问题,我们使用SQL PLUS测试是否能够连接。运行输入cmd,在命令提示符窗口中输入sqlplus sys/密码@数据库SID as sysdba如:
3、检查tnsnames.ora配置
在客户端的安装路径下,我的是D:\oracle\instantclient_12_1\NETWORK\ADMIN,创建一个文件,名为: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客户端的路径)。
plsql登陆时报错ora-12154:tns:无法解析指定的连接标识符
3、使用SQLPLUS测试连接。如果还有问题,我们使用SQLPLUS测试是否能够连接。4、通过PL/SQLDeveloper连接dev_db时,报“ORA-12154:TNS:无法解析指定的连接标识符”。(这个问题以前也碰到过,但解决方法不太一样,因具体的问题不太一样。5、orcl这个代表的是连接的服务名。不是数据库名。服务名在你的开...
vlookup匹配出错误的数据是为什么
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击87步自动完成vlookup匹配,无需手写公式,免费使用!
oracle TNS问题 ORA-12154: TNS:could not resolve the connect identif...
1、问题 ORA-12154: TNS:could not resolve the connect identifier specified ,即无法解析指定的连接,这说明缺少了一个环境变量,TNS_ADMIN 。2、找到PLSQL中的oracle home(主目录)和OCI library(oci.dll地址)配置。3、核对完上述问题后如发现问题仍旧没有解决,查看tnsnames.ora文件,查看数据库...
如何解决ORA-12154 “TNS:无法解析指定的连接标识符”这个问题?_百度...
1、检查服务 出现这种问题,首先我们想到的是检查服务有没有问题OracleOraDb11g_home2TNSListener。在运行中输入services.msc,打开服务窗口,看看OracleOraDb11g_homeTNSListener这个服务是否正在运行,如果没有运行,则启动。2、使用SQL PLUS测试连接。如果还有问题,我们使用SQL PLUS测试是否能够连接。运行输入...
如何解决ORA-12154:TNS:无法解析指定的连接标识符
当我安装好PLSQL Developer软件后登陆时任然出现了“ORA-12154: TNS: 无法解析指定的连接标识符”,如果是Win7,Win8用户甚至可以会出现弹出一个白框的情况,这时需要以管理员身份运行PLSQL Developer,并且确保你的PLSQL Developer是读取的oracle客户端配置,直接取消登陆,在PLSQL Developer工具栏中找到“...
...ORA-12154: TNS: 无法解析指定的连接标识符
ora 你可以不依赖于tnsnames.ora ,例如直接在Data Source写清楚如下登陆信息,而不依赖tnsnames.ora Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;dbdao.com ...
plsql登陆时报错ora-12154:tns:无法解析指定的连接标识符
直接登录试试。用户名:xxx(如果是System用户,S要大写。)密码:xxxx 数据库:你的ip地址:1521/你的数据库实例(你的监听里写的这个SYSTEM)比如:192.168.1.164:1521/SYSTEM 连接为:Normal 不行的话运行:services.msc 打开服务,重启 OracleTNSxxx和OracleServerORCL这2个服务 手打。谢谢!
如何解决ORA-12154:TNS:无法解析指定的连接标识符
这是配置问题,要分别检查listenterora 和tnsnameora这两个文件 如下图:红色字体为添加内容,具体oralce_home及相关信息,根据实际情况,good luckora-12154:tns:无法解析指定的连接标识符
...登陆时 出现"ORA-12154: TNS:无法解析指定的连接标 ”!我在cmd里...
通过PL/SQL Developer连接dev_db时,报“ORA-12154: TNS: 无法解析指定的连接标识符”。(这个问题以前也碰到过,但解决方法不太一样,因具体的问题不太一样。)我将自己知道的一些解决方法说一下:1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务...
...developer 登陆时 出现"ORA-12154: TNS:无法解析指定的连接标
ORA-12154: TNS: 无法解析指定的连接标识符 问题\x0d\x0a\x0d\x0a相信作为ORACLE数据库的开发人员没有少碰到“ORA-12154: TNS: 无法解析指定的连接标识符”,今天我也又碰到了类似的情况,将我的解决方法进行小结,希望能对碰到同样问题的友人们提供帮助。\x0d\x0a\x0d\x0a问题场景描述:...
...登陆时 出现"ORA-12154: TNS:无法解析指定的连接标 ”!我在cmd里...
1.查看数据库服务是否打开;2.查看tnsnames.ora内容有没有写错,请特别注意数据库别名和空格符号;3.如果以上都没问题,请清空%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN下面所有文件,重启数据库服务。