如何查看和终止对ORACLE架构进行的会话列表?
我试图诊断一个问题,因此需要查看与特定Oracle架构的连接列表 假设我有DBA权限,我应该运行哪些查询:如何查看和终止对ORACLE架构进行的会话列表?,oracle,oracle11g,Oracle,Oracle11g,我试图诊断一个问题,因此需要查看与特定Oracle架构的连接列表 假设我有DBA权限,我应该运行哪些查询: 列出Oracle架构的会话(活动和其他会话),然后 终止这些会话 谢谢大家! 以下是您需要执行的查询: -- 1. Check connected sessions select sid, serial#, username, machine, to_char(logon_time+5/24,'ddMon hh24:mi') login, SQL_HASH_VALU
谢谢大家! 以下是您需要执行的查询:
-- 1. Check connected sessions
select sid, serial#, username, machine,
to_char(logon_time+5/24,'ddMon hh24:mi') login,
SQL_HASH_VALUE, PREV_HASH_VALUE,
status
from v$session
where
lower(username) like '%SCHEMA_NAME%'
--and lower(status) not like '%killed%'
--and machine like '%SOURCE_MACHINE_NAME%'
order by logon_time;
-- 2. Same as above, but just show the count of sessions
select count(1)
from v$session
where lower(username) like lower('%SCHEMA_NAME%')
--and lower(status) not like '%inactive%'
order by logon_time;
-- 3. Kill connected sessions
ALTER SYSTEM ENABLE RESTRICTED SESSION;
begin
for x in (
select Sid, Serial#, machine, program
from v$session
where lower(username) like '%SCHEMA_NAME%'
) loop
execute immediate 'Alter System Kill Session '''|| x.Sid
|| ',' || x.Serial# || ''' IMMEDIATE';
end loop;
end;
ALTER SYSTEM DISABLE RESTRICTED SESSION;
-- May have to wait for a bit for the killed sessions to be cleaned up
我已经在Oracle 11g数据库上使用了上述内容,因此希望它们也能为您工作
注意,我在前两个查询中包含了一些注释掉的where子句,这将允许您优化搜索条件
希望这就是您想要的。谢谢,这些看起来很有希望。在发布这个问题之前,我的研究表明,
v$session
表/视图将参与其中,因此这些看起来很有希望。