ITPub博客

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

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

Oracle 作者:kunlunzhiying 时间:2017-12-09 17:24:51 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博客 ” ,链接:http://blog.itpub.net/28211342/viewspace-2148482/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle搬砖侠,略懂MySQL 、MongoDB运维,积极向自动化,智能化、平台化运运维方向努力。

注册时间:2014-07-28

  • 博文量
    666
  • 访问量
    255101