Oracle会话超时退出设置

        在itpub上写博客,感觉要比在CSDN上面写方便很多,第一次申请使用CSDN博客是在2010年,至今记忆犹新啦,但愿在这博客上面可以一直坚持下去,也给大家分享下原来写的一些博客:http://blog.csdn.net/dream19881003,感慨就发到这里吧,还是说下前一段时间预计客户的一个问题吧。
        前一段时间客户打电话说自从数据库搬迁后连接数据库总是提示会话不可用,和客户沟通才知到他们连接数据库的程序是从早上连上数据库后就一直保持连接状态,一天中需要执行几次操作,由于数据库中的会话连接有超时限制,造成客户端长时间没有操作,就会断开连接。
        
        经过这次事件总结了Oracle关于超时退出的一些设置:

          1 profile的idle_time限制

          2 profile的connect_time限制

          3 sqlnet的expire_time限制

           4 sqlnet的INBOUND_CONNECT_TIMEOUT_listener_name限制

          5 listener的CONNECT_TIMEOUT_listener_name限制

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
Use the INBOUND_CONNECT_TIMEOUT_listener_name parameter to specify the time, in seconds, for the client to complete its connect request to the listener after the network connection had been established.

If the listener does not receive the client request in the time specified, then it terminates the connection. In addition, the listener logs the IP address of the client and an ORA-12525:TNS: listener has not received client's request in time allowed error message to the listener.log file.

To protect both the listener and the database server, Oracle Corporation recommends setting this parameter in combination with theSQLNET.INBOUND_CONNECT_TIMEOUT parameter in the sqlnet.ora file. When specifying values for these parameters, consider the following recommendations:

  • Set both parameters to an initial low value.
  • Set the value of the INBOUND_CONNECT_TIMEOUT_listener_name parameter to a lower value than the SQLNET.INBOUND_CONNECT_TIMEOUT parameter.

For example, you can set INBOUND_CONNECT_TIMEOUT_listener_name to 2 seconds and INBOUND_CONNECT_TIMEOUT parameter to 3 seconds. If clients are unable to complete connections within the specified time due to system or network delays that are normal for the particular environment, then increment the time as needed.
如果客户端在指定的时间内没有连接上数据库,会在listener.log日志中出现 ORA-12525,同时在alert日志中会报错ora-03136

5,listener的connect_timeout_listener-name限制,很少使用

CONNECT_TIMEOUT_listener_name=number

This parameter sets the number of seconds that the listener waits to get a valid SQL*Net version 2 connection request after a connection has been started. The listener drops the connection if the timeout is reached. Default is 10; if set to 0, it will wait forever.

参数值单位是秒,默认值是10s,如果建立监听后在设置的时间内没有反应将会断开连接。设置为0表示没有等待时间限制。

时间: 2024-10-14 14:59:19

Oracle会话超时退出设置的相关文章

一个严格的PHP Session会话超时时间设置方法_php技巧

最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考. 第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值: 复制代码 代码如下: ini_set('session.gc_maxlifetime', "3600"); // 秒 ini_set("

IIS 7.5 asp Session超时时间设置方法

有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了 超时时间 那么我们如何设置超时时间呢? 1.IIS图形界面设置 IIS6 在IIS里面右键点击默认网站->主目录->应用程序设置里点配置->选项->启用会话状态->会话超时那里设置时间 IIS7.5 点击站点->功能视图->ASP->会话属性->超时 2.站点代码设置 在站点根目

ORACLE会话连接进程三者总结

概念介绍      通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器.通过哪个应用程序.哪个用户登录等信息.        连接(Connection):连接是从客户端到ORACLE实例的一条物理路径.连接可以在网络上建立,或者在本机通过IPC机制建立.通常会在客户端进程与一个专用服务器或一个调度器之间建立连接.        会话(Session) 是和连接(Connection)

oracle主键的设置方法

 主键: 1.主键约束: 一个表只能有一个主键约束.主键可以是单个字段,也可以是多个字段.无论是哪种情况,其所有字段都是NOT NULL. 2.Unique约束:一个表可以有多个Unique约束,Unique的字段可以为NULL. 3.主键与Unique:不同点在于一个表只能有一个主键约束,但是可以有多个Unique约束:主键所有字段都是not null,unique可以是 null:相同点在于都能保证唯一性. 4.主键.Unique与索引:主键约束与Unique约束默认会成为索引.当主键和Un

visual studio 2010-64位系统编写MFC程序通过ado连接Oracle在项目属性设置为win32平台时调试出错

问题描述 64位系统编写MFC程序通过ado连接Oracle在项目属性设置为win32平台时调试出错 我64位的系统用VS2010编写MFC程序,通过ADO方式连接Oracle数据库,在项目属性中设置为x64平台时,程序调试可以正常的连接数据库并对数据库进行增删改查等操作:但是将项目属性设置为win32平台时,程序调试就停在连接数据库那一语句并报有未经处理的异常,请问到底是什么原因啊?应该如何解决? 解决方案 数据库引擎是否支持32bit程序访问.你的ADO等方式配置是否有平台依赖性的地方

path-afn请求超时怎么设置 代码如下

问题描述 afn请求超时怎么设置 代码如下 NSString *path =[NSString stringWithFormat: @"%@/report/list",HOST_URL]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSMutableDictionary *params = [NSMutableDictionary dictionary]; [man

jms 创建连接-JMS 创建连接超时时间设置

问题描述 JMS 创建连接超时时间设置 如下,我用jms创建了一个连接 Connection connection = null; JmsFactoryFactory ff; try { ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER); JmsConnectionFactory cf = ff.createConnectionFactory(); // Set the properties cf.setStringPro

Oracle Parallel相关参数设置不当引起的系统故障

11月5日,由Senior DBA姚宇老师在"DBA+深港群"进行了一次关于"Oracle parallel相关参数设置不当引起的系统故障"的线上主题分享.小编特别整理出其中精华内容,供大家学习交流.    嘉宾简介    "DBA+社群"香港联合发起人: 网名@IvanYao,Oracle OCM,RedHat RHCE: 十年以上Oracle.Unix/Linux 运维开发经验: 拥有包括银行.证券.电信.媒体及政府等行业IT经验: 目前供职

java中socket connect超时的设置方法

1.首先将标志位设为Non-blocking模式,准备在非阻塞模式下调用connect函数 2.调用connect,正常情况下,因为TCP三次握手需要一些时间:而非阻塞调用只要不能立即完成就会返回错误,所以这里会返回EINPROGRESS,表示在建立连接但还没有完成. 3.在读套接口描述符集(fd_set rset)和写套接口描述符集(fd_set wset)中将当前套接口置位(用FD_ZERO().FD_SET()宏),并设置好超时时间(struct timeval *timeout) 4.调