Oracle session 状态说明

session 状态可通过 v$session 视图的 status 列查看。 关于该视图的使用,可参考联机文档:
http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/dynviews_3016.htm#REFRN30223

有关状态的说明:

active :处于此状态的会话,表示正在执行,处于活动状态。

inactive :处于此状态的会话表示不是正在执行的。

  • 该状态处于等待操作(即等待需要执行的 SQL 语句),通常是当前 DML 语句已经完成, 但连接没有释放,这个可能是程序中没有释放,如果是使用中间件来连接的话,也可能是中间件的配置或者是 bug 导致。

  • inactive 对数据库本身没有什么影响,但是如果程序没有及时 commit,那么就会造成占用过多会话。容易使 DB 的 session 达到极限值。如果达到了session 的最大值, 可以通过增大 processes 和 sessions 参数的值来解决。

killed : 处于此状态的会话,被标注为删除,表示出现了错误,正在回滚。

  • 该状态也是占用系统资源的,且 killed 状态一般会持续较长时间,而且用 windows 下的工具 pl/sql developer 来 kill 掉,是不起作用的,需要使用命令:alter system kill session ‘sid,serial#’ 。

参考:https://blog.csdn.net/tianlesoftware/article/details/6539297

猜你喜欢

转载自blog.csdn.net/Ruishine/article/details/114013910
今日推荐