关于oracle session的状态

最近同事做oracle的监控, 问我要不要把inactive的session kill掉, 释放更多的资源. 这个问题其实要考虑2个方面:

1,inactive的session能不能kill?
session状态里面有active, inactive等.active表示当前session中有sql正在执行.
inactive表示当前没有sql在执行, 但并不代表这个session并不是无效不要了. 比如应用程序执行完一条sql,然后再执行复杂的计算, 然后再执行sql, 在应用执行复杂的计算时,session的状态就是inactive了, 这个时候如果kill了,那么等完成执行复杂的计算,再来执行sql时,应用就会收到oracle的错误了:killed session. 所以inactive session不能随便杀.

2,何时需要杀呢?
当应用获取到session后, 做完db操作, 没有主动关闭session再去开新的session, 那么旧的session就再也访问不到了,这种session的状态是inactive, 如果这样的session很多, 就会影响db的性能了, 时间一长, session就会超出最大值. 该杀吧 :(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值