错误:ORA-12537: TNS: 连接关闭

问题描述:

今天早上上班的时候,突然同事跟我说,昨天访问尚好的数据库现在无法正常连接。服务器上已连接的项目没有报连接失败,但是无法进行正常的数据访问。通过PL/SQL工具连接的时候,出现“错误:ORA-12537:TNS 连接关闭”错误。

问题分析:

由于之前出现过由于数据库的监听突然挂掉,导致连接异常,虽然那时通过PL/SQL工具连接时报的异常不是这个,但是为了排除这方面的原因,还是检查了下数据库的监听情况。

通过命令lsnrctl status,查看到数据库的监听是正常的。

因为无法通过PL/SQL连接工具连接数据库,所有就想通过DBA系统用户,连接数据库,进行检查。在数据库服务器上,执行“sqlplus / as sysdba”命令后,出现如下图异常:

看到这个ERROR,才明白,是数据库的连接数被占用完了,导致连接关闭的错误了。

问题解决:

马上让开发那边的同事,关掉连接这个数据库测试用户,释放一些连接。然后通过PL/SQL工具,连接上数据库,查看当前数据库服务器所占用的连接数。

select username,count(username) ,machine from v$session group by username,machine

发现某个机器的连接数巨大,检查对应服务器的后台日志,发现这些连接数都是由于程序中没有及时释放导致。

联系开发人员,优化代码。

时间: 2024-08-29 23:01:52

错误:ORA-12537: TNS: 连接关闭的相关文章

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

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,cm

一次“ora-12170 tns 连接超时”的经历

win7    64位系统 oracle  10g   64位 plsql之前连接是好使的,突然连接不上,提示错误“ora-12170 tns 连接超时” 1.ping IP    没有问题 2.netstat –na 查看1521端口,端口是没有问题的 3.防火墙没问题 4.lsnrctl status   发现  snmp off 解决方法 首先:dba用户登录系统,无法shutdown   报:ora-00106错误: 修改 由于不是rac  是单机,之前的   tnsnames中serv

ORA-12170 TNS 连接超时!

最近突然有段时间通过plsql连接本地oracle数据库的时候报:ORA-12170 TNS 连接超时! 现象是:开机的时候没有连上网络,然后可以通过plsql连接oracle,但是通过无线网卡连接无线Unicom,然后通过360免费wifi分享网络hswf,就不能通过plsql连接oracle,同时eclipse中项目数据库配置成<jdbcurl>jdbc:oracle:thin:@127.0.0.1:1521:orcl</jdbcurl>也不能连接数据库了. 真心狠奇怪,在网上

ORA-12170:TNS:连接超时(解决一例:转载)

前几天在机房连接数据库服务器时,报了”ORA-12170:TNS:连接超时”.这个错误费了我两天的时间才把问题解决掉,现在总结下,希望大家少走些弯路 从错误的信息上看,是肯定是本地的客户端和服务器没有连接好,两个机器的Oracle直接不能通信.这个问题就多了,现总结一下: 一tns的配置文件不对 这个问题是最基本的,这是连接的基础.这个我建议直接从服务器上拷贝,就不会出错了.我见过的就是因为服务器名后有空格,导致了服务器无法解析. 二服务器的防火墙开了 防火墙会组织tns直接的连接,验证可以把服

解决“ORA-12170: TNS: 连接超时”的问题

虚拟机上可以正常访问数据库,但是在物理机上连接数据库时出现"ORA-12170:TNS:连接超时"时,可以用以下思路解决问题. 一.检查网络 1.ping ip地址 查看网络问题,看能否ping通: 2.tnsping  ip地址(或者是服务器的实例名SID)如果报"TNS-12535:操作超时",可能是服务器端防火墙,没有关闭: 3.netstat -na 查看1521端口是否关闭 4.lsnrctl status   lsnrctl是listener-contr

socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send向网络发送缓存中不能容纳的那部分数据,并等待对端确认后再返回(接收端只要将数据收到接收缓存中,就会确认,并不一定要等待应用程序调

spring中getSession()连接关闭的问题

做OA项目中用到了从数据库读下拉框的值.方法的类被SPRING管理就是说不能通过new()得到对象. 开始的做法是 public static DictionarySelect getFromApplicationContext() {   ApplicationContext ctx  = new ClassPathXmlApplicationContext("/applicationContext.xml");  dictionarySelect=(DictionarySelect

sqlserver2005重新安装(安装汇编错误,安装程序无法连接到数据库服务进行服务配置)

2014-01-09 16:41 1687人阅读 评论(1) 收藏 举报 分类: 数据库(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. sqlserver2005重新安装(安装汇编错误,安装程序无法连接到数据库服务进行服务配置) 在这里我写一下我的个人经验,减轻后辈们的时间,如果好的话记得给我好评哦!这一天我卸了装,装了卸n遍(公司的2003server服务器上) 首先我安装的是server2005,cd1,cd2两个镜像文件,这个文件怎么打开就不在这里多说了; 这是你没卸载的问题