我想,根据操作系统进程号查看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可以观察某个进程的时时状态
Oracle 根据操作系统进程号查看会话
猜你喜欢
转载自blog.csdn.net/gaobudong1234/article/details/82107511
今日推荐
周排行