ORACLE10G 中的V$SESSION.SQL_ID列指示一个会话正在执行的SQL,得到SQL_ID后可以关联V$SQL.SQL_ID得到SQL内容;
但是通过观察运行定时JOB的会话的V$SESSION.SQL_ID始终为空。这时我们可以通过dba_jobs_running.sid 关联v$open_cursor.sid可以从v$open_cursor.SQL_TEXT得到SQL内容;SQL 如下
SET LONG 4000
COLUMN SQL_FULLTEXT FORMAT A30;
SELECT b.SQL_FULLTEXT FROM v$open_cursor a,v$sql b
WHERE a.SQL_ID=b.SQL_ID
and a.SID=&sid;