
可能1:
每个数据库用户会对应一个profile,profile中有一项叫做IDLE_TIME,这项控制最大连续空闲时间,当用户连接空闲时间超过这个限制时就自动断开了。
可能2:
数据库启用了resource manager。资源管理器中有一项叫做max_idle_time,这项控制单个连接的总空闲时间,当用户连接空闲时间超过这个限制时就自动断开了。
可能3:
数据库启用了resource manager。资源管理器中有一项叫做max_idle_blocker_time,这项控制连接处于idle状态且阻塞了其他连接的最大时间,当用户连接处于idle状态且阻塞了其他连接的时间超过这个限制时就自动断开了。
运行时断开:
可能1:
同上,profile或者resource manager中对应项限制的用户连接使用的资源总量,当用户执行的程序使用资源总量超过限制时就被断开了。
可能2:
遇到数据库bug或者第三方软件与oracle的不兼容问题。
1、估计你的打印程序连接数据库后没有释放数据库连接,导致连接数达到限定值。2、重启数据库恢复正常是因为数据库重新建立的新连接。
3、请着重检查连接数据部分的程序。
在windows中的CMD中1、确认下网络问题,ping 数据库ip,发现ping的命令不能用,
这个可以到c:\windows\system32目录下使用ping 命令,这个一般是按照JDK或Oracle时把系统的环境变量弄乱了。或者在环境变量中的path中加入
%SystemRoot%\system32%SystemRoot%就可以使用了。
2、tnsping 数据库ip;
3、netstat -na 查看下端口,一般监听端口为1521,
4、查看下本地的监听状态:lsnrctl status
出现上面的问题一般是系统的防火墙把端口拦截了,还有就是使用动态的ip,或者是网络不稳定(老断线)。
把防火墙关闭后,重起下系统再连接就没有问题了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)