1

v$sql と v$session の両方のテーブルに参加しようとしています。このクエリの目的は、マシンを使用しているユーザーと、彼が使用している sql を知ることです。

私は似たようなものを探しています

select s.sql_text
     , i.osuser 
  from v$sql s
     , v$session i 
 where i.something= s.something 
   and i.osuer='MOUDIZ'
4

2 に答える 2

1

2 つのビューの違いについて未解決の質問があるようです。

v$sql 詳細 -- クエリのコピーが複数ある場合:

「T から * を選択」

共有プールでは、v$sql はクエリごとに行を持ちます。これは、ユーザー U1 とユーザー U2 の両方がテーブル T を持ち、両方が「select * from T」を発行した場合に発生する可能性があります。これらは、異なる計画などを持つまったく異なるクエリです。v$sql には 2 つの行があります。

v$sqlarea は v$sql の集合体です。DISTINCT sql を選択します。「select * from T」が表示されます。

トムはここで答えましたhttps://asktom.oracle.com/pls/asktom/f?p=100:11:0::::p11_question_id:385254862843

于 2014-09-12T13:21:16.737 に答える