通过linux进程号(pid)查找Oracle的session中都执行那些sql
1、在以上图中使用系统进程PID查询对应的物理地址
SELECT v.addr,v.* FROM v$process v
WHERE v.SPID = ‘’5256;
2、通过该物理地址查找对应的SQL_ID
SELECT t.SQL_ID,t.* FROM v$session t
WHERE t.paddr= '000000025C5EB9F8';
3、通过SQL_ID来查找对应的SQL语句
SELECT sql_text FROM v$sql
WHERE sql_id = 'dqu970xzs3gpv';
以上3句合并为一句:
SELECT s.sql_text
FROM v$sql s,
v$session t,
v$process v
WHERE s.sql_id = t.SQL_ID
AND t.PADDR = v.ADDR
AND v.SPID = '5256';
通过此sql语句具体分析问题