Oracle 等待事件 inactive session 官方解释,作用,如何使用及优化方法
本站中文解释
Oracle实例中,inactive session就是执行一段时间未响应的会话连接。通常来讲,当一个新的会话连接被建立连接到数据库后, 他会一直处于活动状态,但随着时间的流逝会该会话可能因为各种原因变成inactive会话。一个inactive session是指连接至Oracle后,应用不再有请求发送至数据库服务端,因此该会话处于连接状态但无任何活动状态。
inactive session可能是由于连接成功后无发送SQL操作或数据库繁忙导致应用发送操作被排队,一般在应用发送SQL操作耗时较长时, 后续SQL操作请求至Oracle可能已超时,这种就会导致一段时间内无发送操作的session处于inactive状态,操作系统层面的连接会一直保持。
因为inactive的session会一直占用系统连接资源,所以需要管理员进行一定的管理来来保持良好的性能,用法包括:1.定时清理僵死或者很长时间没有动作的session,以防止连接数过多耗尽;2.修改参数‘inactive session timeout’来设定inactive session多长时间后被置为无效;3.使用相关内置功能或功能来查找并踢掉处于inactive状态的session。
总的来说,inactive session是指虽然建立连接但没有任何活动的session,可能由于应用发送受阻或者繁忙导致inactive,去除inactive session是为了节约连接的资源,提高系统性能。可以采取如上所述措施来清理并管理inactive session.
官方英文解释
This event is used for switching and killing sessions.
-
Switching sessions
If a timeout period has been specified, then wait that amount of time for the session to be detached.
-
Killing sessions
From either
KILL SESSION
or internal request. Having posted a session that it should kill itself, wait for up to 1 minute for the session to terminate.
Wait Time: 1 second
Parameter | Description |
---|---|
session# |
See “session#” |
waited |
See “waited” |