-
TNS-03505或者TNS-12154的解决一例
2014-10-10 09:10:34TNS-03505或者TNS-12154的解决一例今天,一个同事连接数据库时,出现了TNS-12154(无法处理服务名)的错误提示,其他人是可以正常连接的,检查了他的客户端配置,发现原因如 下:tnsnames.ora里面的tns名称不小心前面多写了一个空格,导致tnsname无法识别,将空格去掉即可。
这么简单的问题,oracle居然一直没有解决,又测试了一下10g,也是同样的问题,看来在没有解决之前,我们都需要更仔细一些了! -
诡异的TNS-12154
2014-09-30 22:33:47CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT '*'; CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT '*'; CONFIGURE CHANNEL 1 DEVICE TYPE DISK clear; ...CONFIGURE CHANNEL 2 DEVICE TYPE DISK clear;CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT '*';CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT '*';CONFIGURE CHANNEL 1 DEVICE TYPE DISK clear;CONFIGURE CHANNEL 2 DEVICE TYPE DISK clear; -
【Oracle】TNS-12154 错误解析
2016-04-14 10:06:04ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 这个提示在一定程度上导致产生误解,让人认为数据库服务名SERVICE NAME本身有问题,其实它指的是tnsnames.ora中配置的别名ALIAS所对应的SERVICE_NAME与...ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务这个提示在一定程度上导致产生误解,让人认为数据库服务名SERVICE NAME本身有问题,其实它指的是tnsnames.ora中配置的别名ALIAS所对应的SERVICE_NAME与在监听程序listener的注册的服务名中找不到匹配的服务名,当然如果只是配置了动态监听,则可能一个也没有(也可能一个也没有,比如只配置了动态监听)。tnsnames.ora中的服务名SERVICE_NAME的可选值为静态和动态注册的服务名(SERVICE_NAME),也即listener.ora中的GLOBAL_DBNAME和PARAMETER中的SERVICE_NAME,可以是任意支持的字符,但两者必须与保持一致。而sqlplus中的链接字符串,并不是SERVICE_NAME,而是一个SERVICE_NAME的ALIAS(在tnsname.ora中配置)。lsnrctl status的结果:Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "yangdb" has 1 instance(s).Instance "yangdb", status UNKNOWN, has 1 handler(s) for this service...listener.ora的内容:(SID_DESC =(GLOBAL_DBNAME = yangdb) --listener.ora文件中注册静态监听时的服务名,如上面的Service "yangdb"(ORACLE_HOME = /opt/oracle/11.2.0/alifpre)(SID_NAME = yangdb) --数据库的实例名)tnsnames.ora的内容yangdb = --别名Alias,可以任意填写!sqlplus USER/PWD@yangdb 用的就是这个别名(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.250.7.241 )(PORT = 1523))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = yangdb) --可以任意填写,但是必须和listener.ora中的GLOBAL_DBNAME(静态监听)) --或者动态监听时和lsnrctl status 中的"Service"的值一致)当然对于tnsnames.ora中的SERVICE_NAME 替换为SID的话,必须和lsnrctl status中的 Instance "yangdb" 一致!使用service_name连接oracle 数据库的方式见《service_name和service_names的关系》一文,下面讨论一下我遇到的使用sid连接数据库的情况:服务端:oracle@dba-host1:/opt/oracle/products/9.2.0/network/admin>cat listener.oraSID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /opt/oracle/products/9.2.0)(PROGRAM = extproc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dba-host1.dev.sd.aliyun.com)(PORT = 1521)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))))oracle@dba-host1:/opt/oracle/products/9.2.0/network/admin>cat tnsnames.orayang_TEST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.250.7.171)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = yang)))oracle@dba-host1:/home/oracle>lsnrctl statusLSNRCTL for Linux: Version 9.2.0.8.0 - Production on 11-NOV-2011 02:06:41Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba-host1)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba-host1)(PORT=8080))(Presentation=HTTP)(Session=RAW))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba-host1)(PORT=2100))(Presentation=FTP)(Session=RAW))Services Summary...Service "ASOFT" has 1 instance(s).Instance "yang", status READY, has 1 handler(s) for this service...Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "yangXDB" has 1 instance(s).Instance "yang", status READY, has 1 handler(s) for this service...The command completed successfully在本地的tnsnames.ora文件中service_name 指定 ASOFTyang_TEST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.250.7.171 )(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = ASOFT)))或者知道SID为yangTEST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.250.7.171 )(PORT = 1521))(CONNECT_DATA =(SID=yang)))都可以连接到数据库,如果没有按照上面的例子来做,就会遇到 TNS-12154使用windows的客户端连接C:\Users\aaaa>sqlplus yang/yang@testSQL*Plus: Release 11.2.0.1.0 Production on 星期五 11月 11 02:08:12 201Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.8.0 - Productionyang@rac1>EXIT从 Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.8.0 - Production 断开C:\Users\aaaa> -
oracle RAC在某节点对部分表执行DML时遭遇TNS-12154报错
2017-05-31 19:55:46最近应用系统接到用户报障,称对某几张表执行插入操作时报错TNS-12154:无法解析当前的服务名。现将排查过程记录如下,供大家讨论: 现象: 红帽6.4上的oracle 11g 三节点RAC,其中在节点3上对表A执行DML时报错TNS...最近应用系统接到用户报障,称对某几张表执行插入操作时报错TNS-12154:无法解析当前的服务名。现将排查过程记录如下,供大家讨论:
现象:
红帽6.4上的oracle 11g 三节点RAC,其中在节点3上对表A执行DML时报错TNS-12154:无法解析当前的服务名,对表A查询正常。在节点1和节点2执行DML正常。
分析:
检查集群状态正常,数据库alter日志无报错,数据库的其他表在任一节点执行DML都正常。根据TNS报错,推测是存在DBLINK导致的解析失败。检查插入的表名,确认是具有唯一对象名的一张普通表。尝试使用create table a-test as select * from a复制该表,发现对表a-test可以正常执行DML,同时,在尝试使用alter table a rename to a-bak重命名表a时,报错ORA-26563,表示有物化视图日志基于该表创建。联想到TNS的报错是跟dblink有关,而物化视图可以建立远程表,可能在与远程数据库通信时TNS服务名解析失败导致,于是检查三个节点的tnsnames.ora文件,发现节点1和节点2有一条信息是节点3的文件里没有的,抱着尝试的想法在节点3的tnsnames.ora文件里添加上这条记录后,DML执行正常。
处理:
在节点3的tnsnames.ora文件里添加上节点1和节点2文件里的记录,故障解决。
问题:
虽然问题解决了,但是逻辑并没有理清,因为要修改的表是一张普通表,不存在dblink,如果是基于该表的物化视图,且是基于on commit更新的,那么也只可能影响物化视图的更新,不会限制表的更新。同时,从重命名该表的报错ORA-26563来看,存在物化视图日志基于该表,但是查询物化视图日志信息时,并没有基于该表的物化视图日志。后续还需要测试其他情况来分析,在此仅为问题记录,并为出现该问题时提供一个思路。
-
TNS:12154: 无法解析指定的连接标识符
2015-10-29 17:03:204)26客户端TNSPING 15机器可以ping通,但使用PL/SQL提示:ORA-12154:TNS:无法解析指定的连接标识符 5)在15机器上使用PL/SQL可以登录本地数据库,也可以登录26机器上的数据库。 PS:各种配置,各种删除。都不行。... -
ora-12154 TNS
2012-05-29 18:49:36ora-12154 TNS:"无法处理服务名"的一个解决方法 很怪异的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机了,看了不少帖子,大多数都是修 改tnsnames.ora文件中的配置,但试了很多也... -
ORA-12154TNS
2017-07-14 11:04:091检查下面图片中框起来的服务有没有启动 2.检查tnsnames.ora等文件的配置 3.如果以上问题还没有解决那么在数据库一栏把loaclhost:1521/orcl 填上去 localhost:1521/orcl -
ORA-12154: TNS: TNS-12533: TNS:illegal IMP-00038
2012-07-03 19:04:38Oracle 10g ORA-12154: TNS: could not resolve the connect identifier specified 后面用 tnsping 实例名; 又出现下面的错误 TNS-12533: TNS:illegal ADDRESS parameters 想到强段时间修改过端口号可能造成... -
ORA-12154 TNS 无法解析指定的连接标识符
2014-07-29 11:02:41ORA-12154 TNS 无法解析指定的连接标识符 -
Oracle数据库ORA-12154: TNS: 无法解析指定的连接标识符详解
2019-04-16 11:43:53相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。 在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库... -
ORA-12154 - connecting with TNS
2020-11-29 17:43:39ORA-12154: TNS:could not resolve the connect identifier specified" <p>The driver and TNZ config is installed on a <a href="https://github.com/BYU-OIT/docker-node-oracledb/blob/master/Dockerfile">... -
oracle tnsping & ora-12154
2011-01-05 10:06:59使用命令sqlplus user/pwd@tnsname的时候,报错误ora-12154:tns:无法解析指定的连接标识符 使用命令tnsping tnsname后发现sqlplus连接使用的oracle客户端目录不对。 本机装了1个oracle11g数据库服务器和一个... -
ora-12154 TNS:无法处理服务名
2019-10-08 05:19:08有时候怎么配置TNSNAMES.ORA都出现ora-12154 TNS:无法处理服务名的错误!其实根据oracle的版本的不同,配置的字符串也有所不同。比如:oracle8.1.5的SQLNET.ORA文件的内容是这样的:路径:orant\... -
database link ora-12154 TNS 无法解析指定的连接标识符
2019-01-22 11:27:18database link ora-12154 TNS 无法解析指定的连接标识符 -
ORA-12154_TNS无法解析指定的连接标识符
2013-09-03 20:13:09ORA-12154_TNS无法解析指定的连接标识符 -
ORA-12154: TNS: 无法解析指定的连接标识符
2020-03-05 13:52:00当用PL/SQL客户端去连接oracle数据库的时候提示:ORA-12154:TNS:无法解析指定的连接标识符,经过查找原因得知:没有配置相应的环境变量。 错误: ORA-12154:TNS:无法解析指定的连接标识符 ORA-12154:TNS:无监听... -
ORA-12154: TNS ORA-12541: TNS ORA-12514: TNS
2011-06-27 17:27:00论坛上经常有朋友问关于TNS的问题,今天看到inthirties老大写的一篇文章,觉得不错,至少一些最常见的问题都是可以解决的。转过来,贴在这里,方便自己学习,也方便大家参考。 =================================... -
ORA-12154 TNS无法处理服务名
2018-11-12 13:15:18exp导出时,出现了如图的错误。 原因: 导出语句中的@ora9i 是需要在tnsname.ora里配置的 解决方法: 在导出语句中去掉@ora9i -
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
2019-08-03 12:21:57ORA-12154: TNS: 无法解析指定的连接标识符的解决方法 -
PLSQL的ORA-12154: TNS: 错误
2020-01-13 17:25:31平时都是用公司自带的数据库工具,今天用了一下PLSQL,结果报了“ORA-12154: TNS: 无法解析指定的连接标识符”的错误。 查了有一会,发现比较流行的几种问题我这都没有,直到看到我的rnsnames.ora中这两个可恶的... -
PL/SQL Developer:ORA-12154 TNS: Could not resolve the connect identifier specified
2018-01-17 14:26:30ORA-12154 TNS: Could not resolve the connect identifier specified ps:D:\oracle\product\10.2.0\client_2\NETWORK\ADMIN\tnsnames.ora已经存在。 2.分析 PL/SQL Developer通过TNS_ADMIN找不到tn -
【ORACLE】ORA-12154 TNS无法解析指定的连接标识符;ORA-12541 TNS 无监听程序;ORA-12560 TNS 协议适配器...
2017-03-02 10:06:17ORA-12154 TNS无法解析指定的连接标识符ORA-12154 TNS无法解析指定的连接标识符重建监听,确保ORACLE_HOME/db_1/NETWORK/ADMIN下参数正确 启动数据库的监听(ORACLE_HOME/db_1/bin/lsnrctl.exe start)ORA-12541 TNS... -
Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案
2017-03-03 17:47:33Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案 -
ora-12154 TNS 无法处理服务名
2019-04-08 15:42:23百度查了好多,网上也有好多,试了试都不行。 我这个最终解决方案是重新安装了一下。 首先,把电脑里有关的环境变量全部删除掉。 重新安装oracle、plsql。...安装时注意,安装路径不要有中文、括号之类的。... -
ORA-12154 & TNS-03505 案例分享
2016-05-16 15:47:00下面介绍一个工作中遇到的案例场景,应用服务器连接数据库出现”ORA-12154: TNS: 无法解析指定的连接标识符“。一般情况下ORA-12541错误是很容易排除的,但是这次遇到案例场景跟以往有所不同,我先模拟这样一个环境... -
ORA-12154: TNS 原理及故障分析
2017-08-30 13:16:14格式有点乱,没时间整理了,马上去验证。...总结一下,装了解决Oracle Developer Tools之后,出现“ORA-12154: TNS: 无法解析指定的连接标识符”报错的解决方法如下: 1.检查注册表,HKey_LocalMachineS