ITPub博客

首页 > 数据库 > Oracle > 通过spid,查找执行慢的sql脚本

通过spid,查找执行慢的sql脚本

原创 Oracle 作者:pwz1688 时间:2014-01-06 17:02:14 0 删除 编辑

通过top命令,可查看占用cpu资源极高的进程,得到spid,通过以下sql ,可查找此进程执行的具体sql

点击(此处)折叠或打开

  1. SQL> edit
  2. 已写入 file afiedt.buf

  3.   1 select
  4.   2 sql_text
  5.   3 from v$sqltext a
  6.   4 where (a.hash_value,a.address) in(
  7.   5 select decode(sql_hash_value,0,prev_hash_value,sql_hash_value),
  8.   6 decode(sql_hash_value,0,prev_sql_addr,sql_address)
  9.   7 from v$session b
  10.   8 where b.paddr=(select addr from v$process c
  11.   9 where c.spid='&pid'))
  12.  10* order by piece asc
  13. SQL> /
  14. 输入 pid 的值: 4016
  15. 原值 9: where c.spid='&pid'))
  16. 新值 9: where c.spid='4016'))

  17. SQL_TEXT
  18. ----------------------------------------------------------------

  19. select sql_text from v$sqltext a where (a.hash_value,a.address)
  20.  in( select decode(sql_hash_value,0,prev_hash_value,sql_hash_val
  21. ue), decode(sql_hash_value,0,prev_sql_addr,sql_address) from v$s
  22. ession b where b.paddr=(select addr from v$process c where c.spi
  23. d='4016')) order by piece asc

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

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

注册时间:2009-03-30

  • 博文量
    106
  • 访问量
    736042