檢視當前oracle中正在執行的sql語句

eric0435發表於2012-02-22
先執行以下查詢語句
select a.program, b.spid, c.sql_text,c.SQL_ID
  from v$session a, v$process b, v$sqlarea c
 where a.paddr = b.addr
   and a.sql_hash_value = c.hash_value
   and a.username is not null;
PROGRAM                         SPID    SQL_TEXT                  SQL_ID
---------------------------------------------------------------- -------------
racgimon@cdcj1 (TNS V1-V3)      12      DECLARE     reason_id    65vuzhm491wk9
oracleRLZY@rx6600-2 (TNS V1-V3) 25867   SELECT "AKB020" FROM "KB 09rp36jmgpj5a
oracleRLZY@rx6600-2 (TNS V1-V3) 25869   SELECT "AAC001","BTC102" 00931052n13uq
oracleRLZY@rx6600-2 (TNS V1-V3) 3018    SELECT "AAC001","BTC102" 00931052n13uq
plsqldev.exe                    26531   select a.program, b.spid 5qq47bz3tzfws
JDBC Thin Client                21074   select * from ( select r 686nqabc8sgs2

如上圖中的program列中的jdbc thin client代表的是透過jdbc連線執行的sql語句,由於sql_text列沒有顯示完整
的sql語句.所以找到sql_id:686nqabc8sgs2再查詢v$sql
select a.* from v$sql a where a.SQL_ID='686nqabc8sgs2'
可以檢視完整的sql文字內容

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-716973/,如需轉載,請註明出處,否則將追究法律責任。

相關文章