查找正在运行的sql语句及该语句运行的时间

查询正在运行的sql语句:
SQL> select   address,sql_text,piece   from   v$session,v$sqltext   where   address=sql_address order by address,piece


从网上摘下:
$session中的last_call_et列表示从STATUS(状态)改变到当前的时间(单位是秒)。
也就是说,如果session当前是inactive的,则表示inactive的时间
如果session当前是active的,则表示active的时间。
另外需要注意的是last_call_et表示的是last call的时间。
对于单条SQL而言,是指sql执行时间;对于plsql而言,则是指整个plsql的执行时间。
后台进程一直是active的,因此后台进程的last_call_et与实例运行时间相近。
查找方法:
SQL> select sid,serial#,username,status,last_call_et from v$session where status
='ACTIVE' and username is not null order by last_call_et desc;

       SID    SERIAL# USERNAME   STATUS   LAST_CALL_ET
---------- ---------- ---------- -------- ------------
       128        168 SCOTT      ACTIVE           3025
       130        136 SYS        ACTIVE           1236
       125          1 DBSNMP     ACTIVE              3
       137        527 SYS        ACTIVE              0

再根据SID找出执行的SQL或PL/SQL:
select sql_text from v$session a,v$sqltext_with_newlines b
  where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value
  and a.sid=&sid order by piece;

 

 SQL> l
  1  select sid,serial#,username,machine,last_call_et,status from v$session
  2  where status='INACTIVE' and username is not null
  3* order by last_call_et
SQL> select sql_text from v$session a,v$sqltext_with_newlines b
  2    where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash
_value
  3    and a.sid=&sid order by piece;
输入 sid 的值:  128
原值    3:   and a.sid=&sid order by piece
新值    3:   and a.sid=128 order by piece

SQL_TEXT
----------------------------------------------------------------
insert into test
select * from test


可以看到上面的语句已经运行了3025秒,相当于50分钟.


如果改语句不重要,可以kill掉
SQL> alter system kill session '128,168';

系统已更改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值