什么是空闲的DB会话?在终止闲置数据库会话之前,我们必须考虑哪些因素?我们什么时候可以终止它?
一个空闲数据库会话是连接的,但用户暂时没有做任何事情。此类连接的会话仍消耗资源,例如内存。
默认情况下,允许的空闲时间是无限的:
select * from dba_profiles
where resource_time = 'IDLE_TIME';
DBA可以创建一个配置文件,以定义设置空闲时间限制。分配该配置文件的用户将仅限于闲置的长度。该PMON将在会议上窃取会话之后的某个时间:会话仍将连接,但将在下一次尝试做某事时断开连接。
如果您的数据库确实具有非默认IDLE_TIME,则无效会议将永远存在。除非您有很多东西,否则这可能不会是问题模块。
要检查您是否有太多的长期闲置会话可以运行这样的查询:
select program, osuser, user, logon_time, last_call_et, sid, serial#
from v$session
where status = 'INACTIVE'
感兴趣的列是last_call_et
,这是用户上次在该会话中做任何事情以来的秒数。如果last_call_et
是一个大数字(您的里程会有所不同),那么您可能需要考虑审理该会话。但实际上只有在您需要释放一些资源时才打扰。