ラァンフォーヱヴアー

出先・常駐先用コマンドリスト。2020年からリモートワークなので常駐なくなったけど。その他思ったことメモ。

今ちゃんと動いているSQL文の一覧出力

ありがち。「処理が長時間返ってこないけど、ちゃんと動いているの?」に対する回答。 2018/12/24 大幅追記。

今動作中(セッションがACTIVEである)SQL文の一覧

本当はビューを結合するのは保証しないのであんまりよくない。

select ses.sql_id
      ,ses.event
      ,ses.wait_time
      ,sql.cpu_time
      ,sql.first_load_time
      ,sql.last_active_time
      ,sql.sql_fulltext
from v$session ses,v$sql sql
where ses.sql_id = sql.sql_id
and ses.sql_child_number = sql.child_number
and ses.username is not null
and ses.status = 'ACTIVE'
order by sql.cpu_time desc
;

この瞬間に動作しているSQL文の状態(イベント)

select distinct sesw.event, sesw.state, count(*) cnt
from v$session ses, v$session_wait sesw
group by sesw.event, sesw.state
order by sesw.event desc
;

ObjectBrowserの「セッション情報」と同じ情報

ObjectBrowserがない時、コンソールで実行することを前提にしているのでsetもつけてみる。

set linesize 160
set pagesize 1000
col sid                    for 99999
col status                 for a10
col username               for a10
col schemaname             for a10
col osuser                 for a15
col program                for a30
col machine                for a25
col serial#                for 99999

col sql_text               for a15
col sql_text               truncated

select ses.sid
      ,ses.status
      ,ses.username
      ,ses.schemaname
      ,ses.osuser
      ,ses.program
      ,ses.machine
      ,ses.serial#
      ,sql.sql_text
from v$session ses, v$sql sql
where ses.sql_id = sql.sql_id (+)
order by ses.sid
;