Oracleでアクティブ/オープン接続を一覧表示する方法は?


164

特定の瞬間にアクティブな接続を表示する隠しテーブル、システム変数、または何かがありますか?

回答:


183

V$SESSIONビューを使用します。

V$SESSION 現在の各セッションのセッション情報を表示します。


5
コマンドの1行目で開始エラー:select * from FROM v $ session Error at Command Line:1 Column:14 Error report:SQL Error:ORA-00903:invalid table name 00903. 00000-"invalid table name" *原因:*アクション:
ピスタッキオ

3
権限がないか、DBAビューを正しくインストールしていません。
S.Lott、2009年

4
select_catalog_roleロールが必要です。
PaulJWilliams 2009年

2
v $ sqltextに参加して、セッションの現在のSQLを取得することもできます。
アルキニ2009年

27
ピスタッキオ、SQLに2つの「from FROM」があります。「select * from FROM v $ session」
marcprux

116

より完全な回答については、http//dbaforums.org/oracle/index.php?showtopic = 16834を参照してください。

select
       substr(a.spid,1,9) pid,
       substr(b.sid,1,5) sid,
       substr(b.serial#,1,5) ser#,
       substr(b.machine,1,6) box,
       substr(b.username,1,10) username,
--       b.server,
       substr(b.osuser,1,8) os_user,
       substr(b.program,1,30) program
from v$session b, v$process a
where
b.paddr = a.addr
and type='USER'
order by spid; 

28

アプリケーションサーバーからデータベースへの着信接続を表示するには、次のコマンドを使用します。

SELECT username FROM v$session 
WHERE username IS NOT NULL 
ORDER BY username ASC;

シンプルですが効果的です。


6
select s.sid as "Sid", s.serial# as "Serial#", nvl(s.username, ' ') as "Username", s.machine as "Machine", s.schemaname as "Schema name", s.logon_time as "Login time", s.program as "Program", s.osuser as "Os user", s.status as "Status", nvl(s.process, ' ') as "OS Process id"
from v$session s
where nvl(s.username, 'a') not like 'a' and status like 'ACTIVE'
order by 1,2

このクエリは、すべてのバックグラウンドプロセスを除外しようとします。



5
select
  username,
  osuser,
  terminal,
  utl_inaddr.get_host_address(terminal) IP_ADDRESS
from
  v$session
where
  username is not null
order by
  username,
  osuser;

4
SOへようこそ!直感を教えてください。
vefthym 2014


4

以下は、接続数でソートされたオペレーティングシステムユーザーのリストを示しています。これは、過剰なリソース使用を探すときに役立ちます。

select osuser, count(*) as active_conn_count 
from v$session 
group by osuser 
order by active_conn_count desc

1
select 
    count(1) "NO. Of DB Users", 
    to_char(sysdate,'DD-MON-YYYY:HH24:MI:SS') sys_time
from 
    v$session 
where 
    username is NOT  NULL;

1
このコードスニペットは問題を解決する可能性がありますが、説明を含めると、投稿の品質を向上させるのに役立ちます。あなたは将来の読者のための質問に答えていることを覚えておいてください、そしてそれらの人々はあなたのコード提案の理由を知らないかもしれません。
DimaSan 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.