ITPub博客

首页 > 数据库 > Oracle > 查询Oracle正在执行和执行过的SQL语句

查询Oracle正在执行和执行过的SQL语句

Oracle 作者:xypincle 时间:2017-04-12 17:13:45 0 删除 编辑

  1. --查询Oracle正在执行的sql语句及执行该语句的用户
  2. select b.sid oracleid,
  3.        b.username 登录oracle用户名,
  4.        b.serial#,
  5.        spid 操作系统id,
  6.        paddr,
  7.        sql_text 正在执行的sql,
  8.        b.machine 计算机名
  9.   from v$process a, v$session b, v$sqlarea c
  10.  where a.addr = b.paddr
  11.    and b.sql_hash_value = c.hash_value;

  12. --查看正在执行sql的发起者的发放程序
  13. select osuser 电脑登录身份,
  14.        program 发起请求的程序,
  15.        username 登录系统的用户名,
  16.        schemaname,
  17.        b.cpu_time 花费cpu的时间,
  18.        status,
  19.        b.sql_text 执行的sql
  20.   from v$session a
  21.   left join v$sql b
  22.     on a.sql_address = b.address
  23.    and a.sql_hash_value = b.hash_value
  24.  order by b.cpu_time desc;

  25. --查出oracle当前的被锁对象
  26. select l.session_id sid,
  27.        s.serial#,
  28.        l.locked_mode 锁模式,
  29.        l.oracle_username 登录用户,
  30.        l.os_user_name 登录机器用户名,
  31.        s.machine 机器名,
  32.        s.terminal 终端用户名,
  33.        o.object_name 被锁对象名,
  34.        s.logon_time 登录数据库时间
  35.   from v$locked_object l, all_objects o, v$session s
  36.  where l.object_id = o.object_id
  37.    and l.session_id = s.sid
  38.  order by sid, s.serial#;
  39.  
  40. --kill掉当前的锁对象可以为
  41. alter system kill session 'sid,s.serial#';

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28878983/viewspace-2137116/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-05-11

  • 博文量
    208
  • 访问量
    212344