今天在Windows XP上装可个11gR2数据库,却出现个很奇怪的问题,客户机和plsqldev都连不上数据库,提示ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。
——————tnsping—————————–
C:\Documents and Settings\Administrator>tnsping stream
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 – Production on 31-8月 –
2011 15:34:07
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件: D:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0 .0.1)
(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = stream)))
OK (0 毫秒)
—————-客户机连接数据库———————–
C:\Documents and Settings\Administrator>sqlplus scott/tiger@stream
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 31 15:34:19 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
为什么tnsping是OK的 但是连接时说监听程序当前无法识别连接描述符中请求的服务呢?这是因为tnsping的时候只是根据tnsname.ora文件中记录的这个字符串相应的IP地址去查看对应的端口是否开发,而不会去验证SERVICE_NAME是否正确,SERVICE_NAME如果配置的不正确是不能连接上数据库的。
下面是我做的相关测试
———————-查看数据库的SERVICE_NAME—————–
SQL> show parameter service_name
NAME TYPE VALUE
————————————
service_names string stream
可以看到这个数据库的service_name是stream,修改tnsname.ora文件,将service_name改成orcl试试tnsping是否还通。
————————–修改tnsname.ora文件—————
STREAM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = stream)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
———————–tnsping stream————————-
C:\Documents and Settings\Administrator>tnsping stream
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 – Production on 04-9月 -
2011 10:22:42
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
D:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = strea
m)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (30 毫秒)
可以看到SERVICE_NAME = orcl,tnsping仍然OK,在试下这样是否可以连接上数据库。
——————-连接数据库————-
C:\Documents and Settings\Administrator>sqlplus stream/stream@stream
SQL*Plus: Release 11.2.0.1.0 Production on 星期日 9月 4 10:25:19 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
请输入用户名:
实验结果已经连接不上数据库,在将tnsname.ora文件改成真正的SERVICE_NAME,再次连接数据库
——————tnsname.ora——————–
STREAM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = stream)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = stream)
)
)
——————–再次连接数据库————————-
C:\Documents and Settings\Administrator>sqlplus stream/stream@stream
SQL*Plus: Release 11.2.0.1.0 Production on 星期日 9月 4 10:28:50 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
连接数据库成功,远程登录数据库的时候,是依赖于数据库服务端SERVICE_NAME,如果遇到tnsping通但是连接不上数据库的时候,一定要仔细检查是否是SERVICE_NAME配置的不正确。
分享到:
相关推荐
本文详述了tnsping命令的原理及该命令的使用
错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: (1)关闭防火墙; (2)在防火墙中添加,orcale端口1521例外...
Oracle数据库-TNS连接 第一份工作是在东亚银行,规定要穿正装上班,当时身上没有什么钱,只能去地摊上买黑裤子搭白衬衫,不忍直视。 进入项目组,第一件事就是给电脑安装Oracle客户端和PL/SQL。就如同你的钱存在银行...
ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解
不用安装oracle,直接使用plsql配置一下环境变量就可以连接数据库
AIX平台上数据库性能调优经验分享 数据库调优的常用技巧简介 Oracle RAC案例分析 DB2 pureScale简介
ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...
解决oracle tnsping超时严重问题
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错”ORA-12154: TNS: 无法解析指定的连接标识符” 解决方法如下: 1.先检查服务器端的...
最初的代码,也是我从csdn下载的,最初的代码是c风格,我引入了三个经典的Ado类,增加...连接字符串是从tns配置文件里,直接拷过来的,连接字符串写不对,就连接不上,最好自动生成或从配置文件里直接拷。 连接oracle
oracle 的 orcl TNS,是oracle自带的TNS,丢失的可以及时找回
TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network ...如果通过TNS连接Oracle,那么客户端必须安装Oracle client程序。 Oracle当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客
oracle 常见问题 TNS- 无法解析指定的连接标识符
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求的服务
机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库 1、先到Oracle网站下载Instant Client : http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html 根据你的操作系统...
本文适用于本地的客户端连不上服务器的情况,并且对于怎样实现内网和外网的同时访问有一定的参考。
主要介绍了连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
相信各位都遇到过这样一个问题吗,数据库安装好一后过不了几天,就会出现连接不上本地数据库的的事情,而且还会出现报错代码,在这个时候你可能就不知所措了,而对于新手来说就更成问题了,而且无从下手,而解决这个...