Oracleのv$sessionのSQLを参照してみたい

v$sessionのstatusがINACTIVEの場合は大抵sql_idがなくってsqlがわかんねって思っていたら 以下のサイトを参考にしたところわかりそうだったのでメモ。

https://qiita.com/e99h2121/items/5032d081b11fba684420

ここの【2】を参考にしてみた。

SELECT a.sid SID, a.serial# SERIAL, a.terminal TERMINAL
     , floor(a.last_call_et/3600)||':'|| floor(mod (a.last_call_et,3600)/60)||':'|| mod(mod(a.last_call_et,3600),60) "TIME"
     , SUBSTRB(a.program,1,10) PROGRAM, a.status, a.osuser, a.logon_time, b.sql_text SQLTEXT 
  FROM v$session a, v$sqltext b
 WHERE a.sql_address = b.address
   AND a.sql_hash_value = b.hash_value
   AND a.username is not null
   AND a.schemaname = 'スキーマ名'
   AND a.logon_time between '2022/02/01 00:00:00' and '2022/02/02 00:00:00'
 ORDER BY a.sid,b.piece
;