ITPub博客

首页 > 数据库 > Oracle > 根据操作系统进程号查看oracle对应的SQL语句内容

根据操作系统进程号查看oracle对应的SQL语句内容

Oracle 作者:burphy 时间:2016-11-30 18:08:52 0 删除 编辑
我想,根据操作系统进程号查看oracle对应的SQL语句内容,这一需求对sql优化有一定作用,今天整理了一下。

1、  先用ps -aux查询,发现有个进程占用大量CPU,记录下PID

2、查看哪个会话在执行什么SQL语句,进程号是多少:

2.1 查看所有会话对应的sql
SELECT c.spid,b.sql_text, a.sid, a.serial#, osuser, machine  
    FROM v$session a, v$sqlarea b ,v$process c
    WHERE a.sql_address = b.address and a.paddr=c.addr; 

2.2 查看某个会话对应的sql内容
SELECT c.spid,b.sql_text, a.sid, a.serial#, osuser, machine  
    FROM v$session a, v$sqlarea b ,v$process c
    WHERE a.sql_address = b.address and a.paddr=c.addr and spid=&pid; 
 
3、 用语句select * from v$session_wait where sid=  就能查出等待事件是什么。


4、top -d pid可以观察某个进程的时时状态

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

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

注册时间:2014-06-08

  • 博文量
    98
  • 访问量
    178435