【赛迪网-it技术报道】在实际的工作中,数据库管理员(dba)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要dba自行手工进行清理。
下面的sql语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session;
输出的结果:
sid serial# username program machine status
---- ------- ---------- ----------- --------------- --------
1 1 oracle.exe work3 active
2 1 oracle.exe work3 active
3 1 oracle.exe work3 active
4 1 oracle.exe work3 active
5 3 oracle.exe work3 active
6 1 oracle.exe work3 active
7 1 oracle.exe work3 active
8 27 sys sqlplus.exe workgroup\work3 active
11 5 dbsnmp dbsnmp.exe workgroup\work3 inactive
其中sid 会话(session)的id号;
serial# 会话的序列号,和sid一起用来唯一标识一个会话;
username 建立该会话的用户名;
program 这个会话是用什么工具连接到数据库的;
status 当前这个会话的状态,active表示会话正在执行某些任务,inactive表示当前会话没有执行任何操作;
假如dba要手工断开某个会话,则执行:
alter system kill session 'sid,serial#';
注意:
在上面的示例中,sid为1到7(username列为空)的会话,它是oracle数据库的后台进程,请大家不要对这些会话进行任何操作。
闽公网安备 35060202000074号