经典问题:ORA-12170:TNS:连接超时!求解决办法。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典问题:ORA-12170:TNS:连接超时!求解决办法。相关的知识,希望对你有一定的参考价值。

我的环境是win7+oracle11g。 在cmd里能连上,也能查询数据库,但是到PL/SQL上就连不上了,还显示ORA-12170:TNS:连接超时! 求解决办法。

1、查询语句出错会用标记(marker)类型。

2、客户端向服务器请求失败(如不存在的服务ID),服务器会发送拒绝(refuse)类型 。

3、客户机登陆会发送连接类型,而服务器返回一个重定向类型数据。

4、当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数据,然后能够正常通讯。

扩展资料:

TNS协议是ORACLE服务端和客户端通讯的协议。TNS协议传输可以使用TCP/IP协议、使用SSL的TCP/IP协议、命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文传送。这里我们只分析基于TCP/IP协议上的TNS数据。

ORACLE网络通讯协议TNS有许多版本,并且大部分向下兼容,我们主要oracle 9.2.0.1.0客户和服务间的传输协议,他的协议版本号为312,其兼容到300。

参考技术A 也可能你的IP地址变化了,要修改一下listener.ora和tnsname.ora文件中的IP地址。 参考技术B tnsnames.ora IP地址修改成你本机现在的IP地址,并重启监听服务,等一会儿-等的时间会比较长估计得要几分钟的样子 参考技术C 关闭windows服务中的windows Firewall 参考技术D

tnsnames.ora IP地址修改成你本机现在的IP地址,并重启监听服务,等一会儿-等的时间会比较长估计得要几分钟的样子。

TNS协议是ORACLE服务端和客户端通讯的协议。TNS协议传输可以使用TCP/IP协议、使用SSL的TCP/IP协议、命名管道和IPC协议传输,其中TCP/IP协议传输是使用明文传送。这里我们只分析基于TCP/IP协议上的TNS数据。

ORACLE网络通讯协议TNS有许多版本,并且大部分向下兼容,我们主要oracle 9.2.0.1.0客户和服务间的传输协议,他的协议版本号为312,其兼容到300。

TNS协议有一个通用的头,通用头包含一个请求数据类型。不同的服务请求和数据传输使用不同的请求数据类型。对于通常意义的查询操作一般使用数据类型,当出现错误或其他情况时可能使用其他类型。在分析过程中发现以下类型数据:

1. 查询语句出错会用标记(marker)类型

2. 客户端向服务器请求失败(如不存在的服务ID),服务器会发送拒绝(refuse)类型

3. 客户机登陆会发送连接类型,而服务器返回一个重定向类型数据

4. 当重定向端口连接完成后客户端重现发送连接类型数据,服务器返回接受类型数据,然后能够正常通讯。

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

  不是第一次遇到这个问题了,反正不是listenter.ora有问题就是tnsname.ora有问题:

  先检查tnsname.ora文件,最常见的是因为动了这个文件导致的错误,新添加的tns只要括号不对应或者多了空格等问题就会导致这个错误,特别是数据库名称的地方一定要注意不要有空格,这个错误不容易发现

  然后是listenter.ora文件:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\garfield\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\garfield\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
#添加如下内容 (SID_DESC
= (GLOBAL_DBNAME=ORCL) (ORACLE_HOME=E:\app\garfield\product\11.2.0\dbhome_1) (SID_NAME=ORCL) )
#添加如上内容
)

 

以上是关于经典问题:ORA-12170:TNS:连接超时!求解决办法。的主要内容,如果未能解决你的问题,请参考以下文章

oracle执行存储过程时报:ORA-12170:TNS:连接超时

sql 查询 ORA-12170 TNS 连接超时特殊原因

基于ORA-12170 TNS 连接超时解决办法详解

基于ORA-12170 TNS pl/sql Developer 连接本地超时解决办法

oracle用cmd货plsql登录oracle实例提示“ORA :12170”TNS:连接超时

命令行oracle ora-12170:tns:连接超时 ,pl/sql可以连接