作業系統:Windows 2000
資料庫版本:Oracle 8.1.6
安裝路徑:C:\ORANT
若要找出目前作用中 Session 正在執行的 SQL 文字,可透過 v$open_cursor 與 v$session 兩個動態效能視圖聯查:
SELECT user_name, sql_text
FROM v$open_cursor
WHERE sid IN (
SELECT sid
FROM v$session
WHERE status = 'ACTIVE'
);
SELECT sid, serial
FROM v$session
WHERE status = 'ACTIVE';
此子查詢會回傳所有狀態為 ACTIVE 的 Session ID,而非「不活動」的 Session(原文有誤,已修正)。
SQL> desc v$open_cursor
名稱 空? 類型
--------------- ---- ------------
SADDR RAW(4)
SID NUMBER
USER_NAME VARCHAR2(30)
ADDRESS RAW(4)
HASH_VALUE NUMBER
SQL_TEXT VARCHAR2(60)
提示: SQL_TEXT 僅顯示前 60 個字元,完整 SQL 可進一步結合 v$sql 或 v$sqltext 透過 HASH_VALUE 與 ADDRESS 查詢。