oracle中TNS错误12535连接超时->求解决方法!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中TNS错误12535连接超时->求解决方法!相关的知识,希望对你有一定的参考价值。

我数据库服务器有两块网卡,一块是连外网,另一块是内网的。如果客户端通过数据库服务器作为代理上网,此时客户端的IP地址为:192.168.1.200,则在客户端输入
如果直接在sqlplus中输入system/system 可以连接到连接。但是如果客户端不通过数据库服务器作为代理上网,而是用一个固定的IP上网,

我使用tnsping和ping都可以通的,

C:\>tnsping 192.168.1.200

TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 19-6月 -2009 12:32:35

Copyright (c) 1997 Oracle Corporation. All rights reserved.

已使用的参数文件:
E:\oracle\ora92\network\admin\sqlnet.ora

已使用 HOSTNAME 适配器来解析别名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SID=*)(SERVICE_NAME=192.168.1.200))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.200)(P
ORT=1521)))
OK(120毫秒)

已使用 HOSTNAME 适配器来解析别名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SID=*)(SERVICE_NAME=192.168.1.200))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.200)(P
ORT=1521)))
OK(0毫秒)

但在客户端输入:sqlplus system/system@DATADB就会出现:
ERROR:
ORA-12535: TNS: 操作超时
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误。而无法连接到服务器。这是怎么回事啊
谁能帮帮我啊?
LISTENER.ORA 文件如下:
# LISTENER.ORA Network Configuration File: E:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-88BFF6D795F)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = DataDB)
(ORACLE_HOME = E:\oracle\ora92)
(SID_NAME = DataDB)
)
)
不好意思。补充的内容太多了.。,有点乱.。还有两个文件,TNSNAMES.ORA文件,没有地方补充了.!

参考技术A listner.ora
sqlnet.ora
tnsnames.ora
这三个文件发上来看下,另外不知道你的服务启起来没有,去看下Oracle相关的服务都要启动
参考技术B 一般来讲,造成这个错误最主要的原因是防火墙问题,通常关闭防火墙可以解决问题,其他还包括:
1、网速不通
2、网速过慢
最后一种引起这个错误的原因是由于不正确的设置listener queue size或操作系统中的nofiles参数引起的,假如是此类原因引起的,具体的解决方法如下:
1、Increase listener queue size.
2、 Increase nofiles value (ulimit -n )
3、 Restart the listener
参考技术C 把以下文件内容列出来
listner.ora
sqlnet.ora
tnsnames.ora
不然不好判断哪里出错本回答被提问者采纳

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

 

1,cmd ------ ping ip地址:查看网络问题,能否ping通ip地址

2,cmd ------ tnsping ip地址(或服务器的实例名SID)“

①如果出现"TNS-12535:操作超时" 提示,可能是服务器端防火墙没有关闭,关闭防火墙即可;

   ②如果出现下图显示,则证明没有问题;

 

 3,cmd ------ netstat - na 查看1521端口是否关闭

①如果显示关闭,则需要在防火墙设置中将1521端口设为例外;

   ②如果出现下图显示,则证明没有问题;

 

 4,cmd ------ lsnrctl status  (重点:大部分错误集中于此)

lsnrctl是listener-control 监听器的缩写,查看监听的状态

   当输入命令后出现下图所示:

 

 或出现监听不支持服务等文字,基本可以确定我们安装目录product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN 下的tnsnames.ora文件或listener.ora文件出现问题。

①检查tnsnames.ora文件,查看代码中HOST后面对应的是不是你的IP地址,如果不是修改为正确的IP 即可。(连接无线网络的多注意,因为每次的IP是随机分配的)如下显示为正确的文件内容 

 

 ②检查listener.ora文件,listener.ora文件我们需确保文件中至少存在如下代码

 

  如果lsnrctl status命令下出现监听不支持服务问题我们还需要在上面的基础上加一段,如下为完整代码

 

 5,重点(亲测):检查--开始--程序--找到oracle安装目录:找到net manager“oracle net 配置”--本地:服务命名--orcl90--这个是我的实例服务名(这是我的本地专用服务器)。检查主机名是否是本机ip或localhost。注意:连接类型要选“专用服务器”。

 

 

如果连接在次报错ora-12541:TNS:没有监听器:

1.cmd---services.msc----以Oracle开头TNListener结尾的服务启动它

2.如果还没有启动,修改注册表cmd--regedit
找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleTnsListener
添加一个字符串imagepath值为TNSLSNR.exe的路径
我的是D:/Oracle/Administrator/product/11.1.0/db_1/BIN/TNSLSNR
就可以连接上了。

 

如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时

解决方法:

1.cmd-----ping ip地址 查看网络问题,看能否ping通

2.cmd-----tnsping   ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙    没有关闭

3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外

4.cmd----lsnrctl status   lsnrctl是listener-control 监听器的缩写,查看监听的状态

以上是关于oracle中TNS错误12535连接超时->求解决方法!的主要内容,如果未能解决你的问题,请参考以下文章

oracle sql DEVELOPER ORA-12535: TNS: 操作超时

tnsping无法ping通的问题,TNS-12535 TNS操作超时 (服务器环境:window server 2008R2 数据库环境:oracle 11 g)

sqlplusrac连接超时

ORA-12170: TNS: 连接超时 怎么回事

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

Oracle数据库导入时发生错误 IMP-00058: ORACLE error 12170 encountered TNS连接超时 怎么回事