V$SESSIONからいくつかの列を取得してV$SQLからSQLステートメントを取得したいと思うかもしれません。 Oracle自体が実行しているバックグラウンドプロセスを除外したい場合
SELECT sess.process, sess.status, sess.username, sess.schemaname, sql.sql_text
FROM v$session sess,
v$sql sql
WHERE sql.sql_id(+) = sess.sql_id
AND sess.type = 'USER'
外部結合は、必要に応じて、現在アクティブではないセッションを処理することです。 V $ SQLからsql_fulltext列を取得することもできます。この列には、最初の1000文字ではなく完全なSQLステートメントが含まれますが、これはCLOBであるため、処理が少し複雑になる可能性があります。
現実的には、SP_WHOが提供するよりもはるかに多くの情報を取得できる可能性が高いため、V$SESSIONで利用可能なすべてのものを確認することをお勧めします。