局域网内连接服务端oracle数据库,用数据库工具例如(obj9 ,plsql)连接一定时间就断开了,怎么保持连接?

局域网内连接服务端oracle数据库,用数据库工具例如(obj9 ,plsql)连接一定时间就断开了,怎么保持连接?,第1张

idle时断开:

可能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,或者是网络不稳定(老断线)。

把防火墙关闭后,重起下系统再连接就没有问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10015729.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存