我正在尝试诊断一个问题,为此需要查看到特定Oracle架构的连接列表。
假设我拥有DBA特权,那么我应该运行哪些查询:
谢谢!
发布于 2014-04-05 18:08:15
下面是执行所需的查询:
-- 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我一直在Oracle11g数据库上使用上面的内容,所以希望它们也能为您工作。
请注意,我在前两个查询中包含了一些注释,其中包含了where子句,这将使您能够改进搜索标准。
希望这就是你要找的。
https://stackoverflow.com/questions/22884657
复制相似问题