立刻杀掉Oracle中的会话(session)

阅读: 评论:0

立刻杀掉Oracle中的会话(session)

立刻杀掉Oracle中的会话(session)

一、需求描述

        我们开发项目的过程中,涉及到连接oracle数据库的操作,正常来说我们执行完对应的sql语句后且关闭了连接,数据库的连接就会释放了;但是现实的情况是我们在查询数据库建立的会话时,发现存在大量的InAactive会话(我们需要找到原因,且将当前的会话立刻手动删除掉,不然会影响正常业务的运行),如下图所示:

select machine,COUNT(machine) from v$session GROUP BY machine ORDER BY COUNT(machine);

二、需求分析

数据库存在大量的会话,一般来说是由如下三种情况导致:

 ①程序打开数据库连接后没有关闭;

 ②使用了数据库的连接池且池的设置不合理;

 ③数据库表被死锁或者会话异常退出【比如执行了更新操作后,既没有提交(commit)也没有回滚(rollback),此时网络就断开了,就会造表或记录被锁住,只有等到超时后才会被解开】;

通过排查确定问题后;oracle数据库任然存在着前期异常导致的大量会话,此时就可以使用如下语句立刻杀掉指定会话:

--不是真正的杀死会话,它只是将会话标记为终止,等待PMON进程来清除会话

本文发布于:2024-02-01 06:31:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170674031134569.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Oracle   session
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23