0
什么是闲置数据库会话?在结束空闲的数据库会话之前,我们必须考虑哪些因素?我们什么时候可以终止它?什么是空闲数据库会话?何时终止这些会话?
什么是闲置数据库会话?在结束空闲的数据库会话之前,我们必须考虑哪些因素?我们什么时候可以终止它?什么是空闲数据库会话?何时终止这些会话?
一个空闲的数据库会话是连接的,但用户在一段时间内没有做任何事情。这种连接的会话仍然消耗资源,如内存。
缺省的空闲时间的允许量是不受限制的:
select * from dba_profiles
where resource_time = 'IDLE_TIME';
DBA可以创建定义一组空闲时间限制的轮廓。分配该配置文件的用户将被限制在闲置长度。在此之后的某个时候,PMON会扼杀会话:会话将仍然连接,但下次用户尝试做某事时会断开连接。
如果您的数据库确实有一个非默认的IDLE_TIME,那么非活动会话将永远保留。这可能不会成为一个问题,除非你有很多这样的问题,甚至这可能是一个用户培训问题(在完成任何工作后断开你的IDE)或者应用程序连接中的错误模块。
要检查是否有太多的长期空闲会话可以运行这样的查询:
select program, osuser, user, logon_time, last_call_et, sid, serial#
from v$session
where status = 'INACTIVE'
感兴趣的列是last_call_et
这是自用户最后一次在这做了什么秒数会话。如果last_call_et
是一个很大的数字(你的里程会有所不同),那么你可能要考虑挑选该会话。但是,如果你需要释放一些资源,那真的只是麻烦。
确实没有必要终止旧会话。 PMON应该通过并清理它们,但是如果您绝对必须确保它没有挂起的事务,并且v $ session中的状态不是活动的。 – mmmmmpie
@mmmmmpie - 不要那么确定。我已经看到一个会议从一个没有看到用户活动*的IDE *运行数周*。就PMON而言,这些会议是现场直播的。 – APC
他们在数据库中的状态如何?你有没有做过调查,为什么他们可以显示活跃? – mmmmmpie