SQL代码如下:
SELECT
DECODE (SQL_HASH_VALUE,0,PREV_HASH_VALUE,SQL_HASH_VALUE),
DECODE (SQL_HASH_VALUE,0,PREV_SQL_ADDR,SQL_ADDRESS)
FROM V$SESSION B
WHERE B.PADDR=(SELECT ADDR FROM V$PROCESS C WHERE C.SPID='&PID')
SELECT SQL_TEXT
FROM V$SQLTEXT A
WHERE (A.HASH_VALUE,A.ADDRESS) IN
(
)
ORDER BY PIECE ASC
这里涉及到了3个视图。首先输入一个pid,这个pid即process_id,也就是top或ps(都是linux下的命令)中看到的pid,通过pid和V$process.spid相关联,可以获得Process的相关信息,进而通过V$process.addr和V$session.paddr相关联,就可获得和session相关的信息。
(摘抄于<深入解析Oracle>中的P213)