什么是空闲数据库会话?什么时候终止这些会议?

时间:2017-03-08 13:06:05

标签: oracle oracle11g sysdba

什么是空闲数据库会话?在终止空闲数据库会话之前我们必须考虑哪些因素?我们什么时候可以终止它?

1 个答案:

答案 0 :(得分: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是一个很大的数字(您的里程会有所不同),那么您可能需要考虑剔除该会话。但是如果你需要释放一些资源,那真的很麻烦。

相关问题