参考文档:http://www.cnblogs.com/kerrycode/p/3636992.html
1.查询当前会话
select sid,serial#,username,program,machine,status from v$session S;
注:如果当前用户无查询权限,给当前用户赋予dba权限
grant connect,resource,dba to csmc; --为该用户 csmc 赋予dba权限。
2.查询长时间处于无效会话 (查询处于INACTIVE状态两小时或以上的会话);
select sid,serial#,username,program,machine,status from v$session S where S.last_call_et >= 7200 and S.STATUS = 'INACTIVE';
3.清理无效会话
alter system disconnect session 'sid , serial' immediate;
select 'alter system disconnect session ''' ||sid || ', ' || serial# || '''' || ' immediate;' from v$session S where S.last_call_et >= 7200 and S.STATUS = 'INACTIVE'; 再执行生成的sql语言。