ORA-12154 & TNS-03505 案例分享

下面介绍一个工作中遇到的案例场景,应用服务器连接数据库出现”ORA-12154: TNS: 无法解析指定的连接标识符“。一般情况下ORA-12541错误是很容易排除的,但是这次遇到案例场景跟以往有所不同,我先模拟这样一个环境,然后一一道来。

应用服务器安装的ORACLE 11g客户端,tnsname里面的有如下配置,我们要通过它连接到目标服务器

TEST =
  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxxx)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = xxxx)

    )

  )

此时连接数据库时,就会报ORA-12154: TNS: 无法解析指定的连接标识符。仔细检查过tnsname里面的配置,没有任何问题。

C:\Users>sqlplus test/[email protected]

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 5月 16 14:00:04 2016

Copyright (c) 1982, 2010, Oracle. All rights reserved.

ERROR:

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

请输入用户名:

接下来尝试一下tnsping是否正常,发现其报TNS-03505: Failed to resolve name。 两个服务器直接的网络是正常的。telnet 检测1521端口也是正常的。

C:\Users>tnsping TEST

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 16-5月 -

2016 14:20:44

Copyright (c) 1997, 2010, Oracle. All rights reserved.

已使用的参数文件:

C:\OracleClient\Oracle32\product\11.2.0\client_1\network\admin\sqlnet.ora

TNS-03505: 无法解析名称

是否很纳闷,那么环境变量是否正常呢? 在David的这篇博客ORA-12154 和 TNS-03505 监听错误的解决方法里面有介绍。echo %path% 查看环境变量都OK,而且也能使用sqlplus连接到其它数据库(后面述说),说明应用服务器的客户端环境是正常的。那么为什么会出现这样的诡异的问题呢?其实是因为在客户端的sqlnet.ora配置文件里面,添加了一行"NAMES.DEFAULT_DOMAIN = db.test.com", 如下所示,

解决方法有两种:

1:修改tnsname.ora里面的配置信息,改为下面即可解决这个问题。此时使用TEST.db.test.com 或TEST都可以连接到数据库。

2:修改sqlnet.ora配置文件,删除这一行"NAMES.DEFAULT_DOMAIN = db.test.com"。

TEST.db.test.com =
  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxxx)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = xxxx)

    )

  )

关于NAMES.DEFAULT_DOMAIN 请参考下面官方文档介绍。

NAMES.DEFAULT_DOMAIN

Purpose

To set the domain from which the client most often looks up names resolution requests.

Usage Notes

When this parameter is set, the default domain name is automatically appended to any unqualified net service name or service name.

For example, if the default domain is set to us.example.com, then the connect string CONNECT [email protected] gets searched as sales.us.example.com. If the connect string includes the domain extension, such as CONNECT [email protected], then the domain is not appended to the string.

Default

None

Example

NAMES.DEFAULT_DOMAIN=example.com
时间: 2024-11-05 12:15:45

ORA-12154 & TNS-03505 案例分享的相关文章

案例分享:数据库镜像故障转移失败

案例分享:数据库镜像故障转移失败 对于关键性数据库,我们配置了带有见证服务器的同步数据库镜像,来允许自动故障转移.一切运行正常,直到有一次数据中心的突然断电.数据库镜像执行了故障转移,但是运维反馈说应用程序挂起了.当我们手动切换回来,应用程序又正常工作.为什么应用程序没有也故障转移呢? 这是使用数据库镜像的合理的常见问题,像这样的生产应用失败,是因为在镜像部署后没有做故障转移测试.在失败的故障转移之后我们感到棘手. 为了避免生产应用停机,我们在测试环境复制了线上的镜像环境.在确认应用和数据库镜像

Citrix XenDesktop中VDA无法注册到DDC案例分享(一)

[问题现象] 虚拟机无法注册到DDC [环境] VDA:Win7SP1Enterprise 32bit DDC:XenDesktop7.5 [问题分析及处理] 1. 登录未注册的VDA,重启"Citrix Desktop Service" 2. 检查Windows Eventlog中的Applicationr日志,发现以下错误 Error Details: Exception 'Cannot load Counter Name data because an invalid index

【小程序源码案例】微信小程序项目开发案例分享

作者:web小二本文标签: 微信小程序 小程序源码案例 小程序项目小程序的开发,并不是适合所有公司,我今天跟大家分享小程序方面的教程,主要是供大家学习使用.学习这种东西,有时候则是单纯的喜欢,没有任何目的,很单纯的为了好玩,记得很早之前学flash,没有想法,就是觉得好玩,纯娱乐爱好而已.到后来玩视频剪辑也是出于同样的原因,不图钱财名利,只是图自己个人爱好娱乐. 但是,学习,有时候则是需要有明确目的,特别是关系到自己吃饭问题的时候,你就需要非常有目的去学习,并且还需要制定好学习的计划与目标,希望

easyFuzzer使用案例分享

easyFuzzer使用案例分享 1.简介:          easyFuzzer是wooyun的一位白帽子(光刃)提供的一款用于fuzz文件的工具.平时主要是和网络协议安全打交道,和本地软件安全打交道比较少,所以没怎么关注这款软件,但是今天发现YS的PC客户端多了一个视频编辑的功能,而且还做成了单独的编辑器,在对这个编辑器进行安全评估时我当然想到了本地溢出的一些安全问题,这让我重新关注了这款软件,也就有了下文的实际案例来说明这款软件的用法. 具体使用说明和文件下载地址: http://bbs

Android开发操作案例分享!

Android LRecyclerView 操作案例分享-实现下拉刷新.滑动到底部自动加载,一直想抽空写下这个开源项目www.itxdl.cn,但是各种原因没有抽时间,今天还是趁着工作间隙写下了这篇博客,与大家分享. 简介 LRecyclerView是支持addHeaderView. addFooterView.下拉刷新.分页加载数据的RecyclerView. 它对 RecyclerView 控件进行了拓展,给RecyclerView增加HeaderView.FooterView,并且不需要对

性能调优案例分享:Mysql的cpu过高

性能调优案例分享:Mysql的cpu过高 问题:一个系统,Mysql数据库,数据量变大之后.mysql的cpu占用率很高,一个测试端访问服务器时mysql的cpu占用率为15% ,6个测试端连服务器的时候mysql cpu占用率为50%~60% .ps 1: 每个测试端所做事情就是插入记录,不过插入前会先查询一下是否已经有相同的记录,有的话就更新原有记录,没有就直接插入. ps 2: CPU--Pentium Dual E1240 @ 1.60GHZ内存--2GOS--Windows 2003调

茶叶类门户网站运营推广案例分享

1.茶叶的产品分析: 茶叶属(Tea) 茶组(Camellia sect thea.L),往下下又分三个种:茶种(中国种).普洱种.蛋白桑茶种: 茶叶与咖啡.可可并称为世界三大饮料.文献<茶经>也采用了“茶”字,在此之前,文古曾制作过 “茶”是用“荼”表示,泛指可用于泡茶的常绿灌木茶树的叶子,以及用这些叶子泡制的饮料,后来引申为所有用植物花.叶.种子.根泡制的草本茶,如“菊花 茶”等:用各种药材泡制的“凉茶”等,在中国文学中亦称雷芽:有些国家亦有以水果及香草等其它植物叶而泡出的茶,如“水果茶”

Oracle11g ora 12154 无法解析指定的连接标识符

编辑listener.ora加上: SID_LIST_LISTENER = (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = D:\Oracle\product\11.2.0\dbhome_1) (SID_NAME = ORCL) ) ) Oracle11g ora 12154 无法解析指定的连接标识符

java学习项目案例分享视频资源地址

java学习项目案例分享视频资源地址 http://v.youku.com/v_show/id_XMjYxNjc4MTgwOA==.html?spm=a2hzp.8244740.userfeed.5!8~5~5~5!3~5~A你要的学习资料到了- web前端交流学习群21

Win7x64中使用PowerDesigner连接Oralce数据库报“[Oracle][ODBC][Ora]ORA-12154:TNS:无法解析指定的连接标识符”错误解决方法

错误描述 操作系统是Win7 x64,Oracle服务端是Oracle11g x64,客户端是Oracle10gR2 x86. 使用PL-SQL Developer连接正常 使用系统ODBC连接正常.这里要注意的是,64位系统默认启动的是64位ODBC数据源管理器,默认指向的是服务端连接,所以需要为Oracle服务端也配置TNS Service Name,否则同样会连接报错.PowerDesigner默认启动的是32位的ODBC数据源管理器,程序路径为“%SystemRoot%\SysWOW64