十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先、找到出现ORA-03135连接丢失的那个客户端所在机器上的sqlnet.ora文件
成都创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目成都做网站、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元五常做网站,已为上家服务,为五常各地企业和个人服务,联系电话:18982081108
然后、修改或者添加一行SQLNET.EXPIRE_TIME=15
如果、有防火墙空闲检测周期分钟的话相应缩小到期设置以内,如10、5让他和服务器强制握手保持连接激活。
当然、要看现在的中断究竟报的是不是常见的这个连接丢失的错误
注意、对于非连接池又频繁发起很多连接的数据库要谨慎保持长连接
设置ORACLE的会话连接超时:
1、profile的idle_time限制
oracle用户的配置文件的密码策略是实时生效的,所见即所得。但是用户配置文件的资源限制是由resource_limit参数决定的。
单位是分钟,默认没记错的话应该是10分钟
要是修改的资源生效,需要设置resource_limit设置为true
alter system set resource_limit=true ;
如果在idle的时间内用户没有执行任何操作,会提示ORA-02396:exceeded maximum idle time, please connect again
2、profile的connect_time限制
默认是UNLIMITED,单位是分钟
用户在到达设置的时候后,不可以在继续操作,会提示ORA-02399: exceeded maximum connect time, you are being logged off
如果是设置1分钟,他会在将近2分钟的时候提醒你重新登录。
3、sqlnet的expire_time限制:
expire_time主要是在指定的时间去探测客户端是否可以连通,如果可以的话重新计时,否则就会断开
在执行rman的时候遇见:ORA-03135: connection lost contact,可以尝试将此值设置大些。(ID 729811.1)
4、sqlnet的inbound_connect_timieout_listener_name限制
单位是秒,默认值是60
所有用户的会话都可以在字典v$session里查到,断开连接的意思应该是杀死会话吧,杀一个会话用alter
system
kill
session命令,需要知道sid和serial#,这都可以从字典里查到
执行下机的sql
select
'alter
system
kill
session
'''||sid||','||serial#||''';'
from
v$session;
把结果复制、粘贴再执行就可以断开所有连接了
注意:有些系统可能设置了自动重新连接
如果你是在操作系统级别的中断。可以用kill -9 ora*****或者是kill -9 ****** 你想要停掉的那个进程的进程号。这样就可以直接挺掉数据库的调试了。
如果数据库里面,你查出这那个session执行的这个操作。之后在数据库中直接中断这个session的连接也可以挺掉调试。
如果你用软件的话,PLSQL Developer 这样的软件,就更容易了。这个就不用我交你了吧。都是按钮方式的。点一下就停了。或者直接就把窗口关掉。只要强行推出就号了。