通过系统进程查找sql语句

一、通过系统进程id查找sql语句

 1 SELECT /*+ ORDERED */ 
 2 sql_text 
 3 FROM v$sqltext a 
 4 WHERE (a.hash_value, a.address) IN ( 
 5 SELECT DECODE (sql_hash_value, 
 6 0, prev_hash_value, 
 7 sql_hash_value 
 8 ), 
 9 DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) 
10 FROM v$session b 
11 WHERE b.paddr = (SELECT addr 
12 FROM v$process c 
13 WHERE c.spid = '&pid'))  ----->&pid是系统进程id
14 ORDER BY piece ASC 
15 /

       二 、通过sid查找sql语句

1 select sql_text 
2 from v$sqlarea sq,v$session se 
3 where sq.SQL_ID = se.SQL_ID 
4 and se.sid='&sid';

      三、删除当前语句

1 通过SID查询会话
2 select sid,serial# 
3 from v$session where sid='&sid';
4 
5 根据sid,serial# 值删除会话
6 alter system kill session '&sid,&serial#';

 

原文地址:https://www.cnblogs.com/hfjiang/p/10239727.html