如何设置数据库的连接数和连接超时时间
连接数的话可以修改spfile文件来约束
查看当前的连接数:
select count() from v$process;
–数据库允许的最大连接数:
select value from v$parameter where name = ‘processes’;
–修改最大连接数:alter system set processes = 500 scope = spfile;
–重启数据库:shutdown immediate;
startup;
–查看当前有哪些用户正在使用数据
SELECT osuser, ausername,cpu_time/executions/1000000||’s’, sql_fulltext,machine
from v$session a, v$sqlarea b where asql_address =baddress order by cpu_time/executions desc;
连接超时时间的话有很多办法,最常用的是
在你的oracle服务器的 $ORACLE_HOME/network/admin 中的 sqlnetora中设置参数SQLNETEXPIRE_TIME= n n为一个指定的分钟数
当客户端中断,在 n 分钟内就可以自动断开连接。
不建议在程序中使用SessionTimeOut来设置超时时间。
打开IIS——》网站属性——》主目录——》配置——》选项,选中“启用会话状态”,将“会话超时”改为3000,确定保存即可。
Oracle数据库运维过程中有时会遇到一种异常情况,由于错误的 *** 作或代码BUG造成session异常地持有锁不释放,并大量阻塞系统对话。这时候需要找出造成异常阻塞的session并清除。oracle session通常具有三个特征:(1)一个session可能阻塞多个session;(2)一个session最多被一个session阻塞;(3)session阻塞关系不会形成环路。(环路即死锁,oracle能自动解除)因此session的阻塞关系为一棵树,进而DB系统所有session的BLOCK阻塞关系是一个由若干session阻塞关系树构成的森林,而异常session一定会在故障爆发时成为根(root)。因此,找寻异常锁表session的过程就是找出异常的root。一般认为异常root有两个特征:(1)block树的规模过大,阻塞树规模即被root层层阻塞的session总数;(2)阻塞的平均等待时间过长。查找异常session的方法一:OEM—> performance—> Blocking Sessions查找异常session的方法二:select rroot_sid, sserial#,rblocked_num, ravg_wait_seconds,susername,sstatus,sevent,sMACHINE,sPROGRAM,ssql_id,sprev_sql_idfrom (select root_sid, avg(seconds_in_wait) as avg_wait_seconds,count() - 1 as blocked_numfrom (select CONNECT_BY_ROOT sid as root_sid, seconds_in_waitfrom v$sessionstart with blocking_session is nullconnect by prior sid = blocking_session)group by root_sidhaving count() > 1) r,v$session swhere rroot_sid = ssidorder by rblocked_num desc, ravg_wait_seconds desc;该SQL语句即是根据v$session的字段blocking_session统计阻塞树根阻塞session的计数以及平均阻塞时间、并进行排序,排名最前的往往是异常session。另外需要注意的是,持有锁时间最长、或等待时间最长的session都不一定是造成阻塞的根源session!
除非用户是明确点了退出按钮,你可以知道用户的Session可以过期
如果Session是使用默认的Inproc方式,可以使用Session_End事件,但如果如果会话模式设置为 StateServer 或 SQLServer,则不会引发该事件。在实际应用中,我从未见过那个系统用此事件。
一般情况下,都是客户端用ajax定时向服务器发消息(说明自己在线),比如每1分钟向服务器发出一个消息,服务器就知道此客户端依然在线,如果连续两分钟没收到消息,则认为用户已离线
IIS6默认的连接超时时间是120秒,参考
不过这个超时时间指的是网络连接,跟Session无关
ASPNET 的Session的超时时间默认是20分钟,请参考(VS80)aspx
也就是说,如果你有20分钟没有 *** 作你的ASPNET页面的话,Session就会丢失
此外,IIS6还有一个工作进程的"Idle TimeOut",默认值也是20分钟,请参考:
这个值的意思是说,在20分钟之内没有任何客户端来访问你的网站,那么这个工作进程就会自动退出,当然所有客户端的session肯定也就丢失了。当你再次访问页面的时候,一个新的工作进程会启动,你需要重新登录你的网站。
们在使用SAPRouter时经常会碰到断线,其发生原因有很多,如:网络不稳定、 *** 作间隔时间过长等。鉴于此,通过一个程序,来改良一下SAP GUI 通过SAP Router连接的稳定性。
原理:定时触发GUI与服务器的交互,保持router的连通性;
*** 作:SE38运行程序Z_DX即可,保持此session,另外打开session进行 *** 作;
优点:可以比较好的改良GUI通过router连接SAP服务器的稳定性,同时防止超时导致session被SAP服务器断开或者被router断开;占用资源较少;
缺点:如果网络真的很差,会即刻断线
以上就是关于如何设置数据库的连接数和连接超时时间全部的内容,包括:如何设置数据库的连接数和连接超时时间、session.Timeout怎么无效了、如何查看oracle数据库中哪些session异常阻塞了系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)