如何设置数据库的连接数和连接超时时间

如何设置数据库的连接数和连接超时时间,第1张

如何设置数据库的连接数和连接超时时间

连接数的话可以修改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异常阻塞了系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/9809451.html

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

发表评论

登录后才能评论

评论列表(0条)

保存