状态
活跃——当前会话执行SQL
活动
死亡——会话标记被杀
缓存——临时会话缓存使用Oracle * XA
狙击-会话活动,等待客户端
(1)活跃处于此状态的会话,表示正在执行,处于活动状态。
<代码>官方文档说明: 任何会话连接到数据库并正在等待一个事件不属于闲置等类的被认为是一个活跃的会议。代码>
(2)死亡处于此状态的会话,被标注为删除,表示出现了错误,正在回滚。
<代码>当然,也是占用系统资源的。还有一点就是,死亡的状态一般会持续较长时间,而且用windows下的工具pl/sql开发人员来消灭掉,是不管用的,要用命令:改变系统杀死会话“sid,串行#”;代码>
(3)活动处于此状态的会话表示不是正在执行的
<代码>该状态处于等待操作(即等待需要执行的SQL语句),通常当DML语句已经完成。但连接没有释放,这个可能是程序中没有释放,如果是使用中间件来连接的话,也可能是中间件的配置或者是错误导致。 活动对数据库本身没有什么影响,但是如果程序没有及时提交,那么就会造成占用过多会话。容易达是DB的会话到极限值。代码>
解决方法:
1 SQLNET。EXPIRE_TIME(适当设置大小)
2改变配置文件默认限制idle_time 5;
根据下列SQL,再根据应用服务器主机名,可判断应用的连接数情况:
<代码>选择b。机,b。计划,COUNT (*) 从v处理一个美元,美元会话b 代码>
的地方。ADDR=b。PADDR和b。用户名不是NULL
与。类型!=
,“背景”。地位(“活跃”、“不活跃”)
b组。机,b。项目
命令COUNT (*) DESC;