通过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语句具体分析问题