首页 > 数据库 > Oracle > 查看数据中正在执行的sql
真的很有用,基本每天都会执行:
select to_char(sql_fulltext),v$sqlarea.sql_id,last_call_et continue_time,logon_time,v$process.spid,sid,v$session.serial#,v$sqlarea.hash_value,v$sqlarea.plan_hash_value,v$session.username,LOCKWAIT,machine from v$session ,v$process ,v$sqlarea
where paddr=addr and sql_hash_value=hash_value
and status='ACTIVE' and v$session.username is not null
order by last_call_et desc;
直接将正在活动的会话杀掉:
杀掉正在执行的sql:
select 'alter system kill session '''||sid||','||serial#||''';' from (
select sid,v$session.serial#,v$sqlarea.sql_id,v$sqlarea.hash_value,v$sqlarea.plan_hash_value,v$session.username,last_call_et continue_time,LOCKWAIT,machine,logon_time,sql_text from v$session ,v$process ,v$sqlarea
where paddr=addr and sql_hash_value=hash_value
and status='ACTIVE' and v$session.username is not null
order by last_call_et desc)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24500180/viewspace-713176/ ,如需转载,请注明出处,否则将追究法律责任。