最近汇总上个月的数据,上亿的数据在Oracle上执行,然后整个数据组的查询速度都降低了/(ㄒoㄒ)/~~,sql程执行太长停不下来怎么办,现在告诉大家一个小方法:-D--查询正在耗时的SQLselect sid, serial#, sql_text, exe ...
最近汇总上个月的数据,上亿的数据在Oracle上执行,然后整个数据组的查询速度都降低了/(ㄒoㄒ)/~~,sql程执行太长停不下来怎么办,现在告诉大家一个小方法:-D
--查询正在耗时的SQL
select sid, serial#, sql_text, executions
from v$sql join v$session
on v$sql.sql_id = v$session.sql_id
where cpu_time > 20000;
执行以下语句杀死
alter system kill session 'sid,serial#';
当然也可以这样查询:
select s.logon_time,s.last_call_et,s.status,s.type,s.MACHINE,s.TERMINAL,s.PROGRAM,s.*
from v$session s
order by s.logon_time desc,s.last_call_et desc;
select count(*) num,program from v$session group by program order by num desc,program;
轻轻松松搞定,又可以开心愉快的跑数据了~~~~

◆◆0
发表评论