Auf der Seite des Datenwörterbuchs gibt es viele Tools, die Sie verwenden können, wie z. B. Schema Spy
Um zu sehen, welche Abfragen ausgeführt werden, sehen Sie sich die Ansichten sys.v_$sql und sys.v_$sqltext an. Sie benötigen außerdem Zugriff auf sys.all_users
Beachten Sie, dass Abfragen, die Parameter verwenden, einmal mit Einträgen wie
angezeigt werdenand TABLETYPE=’:b16’
während andere, die dies nicht tun, mehrmals angezeigt werden, wie zum Beispiel:
and TABLETYPE=’MT’
Ein Beispiel für diese Tabellen in Aktion ist die folgende SQL, um die Top 20 Diskread-Schweine zu finden. Sie können dies ändern, indem Sie WHERE rownum <=20 entfernen und fügen Sie vielleicht das ORDER BY-Modul hinzu . Sie finden oft, dass das Modul Ihnen einen Hinweis darauf gibt, welche Software die Abfrage ausführt (z. B.:„TOAD 9.0.1.8“, „JDBC Thin Client“, „[email protected] (TNS V1-V3)“ usw.)
SELECT
module,
sql_text,
username,
disk_reads_per_exec,
buffer_gets,
disk_reads,
parse_calls,
sorts,
executions,
rows_processed,
hit_ratio,
first_load_time,
sharable_mem,
persistent_mem,
runtime_mem,
cpu_time,
elapsed_time,
address,
hash_value
FROM
(SELECT
module,
sql_text ,
u.username ,
round((s.disk_reads/decode(s.executions,0,1, s.executions)),2) disk_reads_per_exec,
s.disk_reads ,
s.buffer_gets ,
s.parse_calls ,
s.sorts ,
s.executions ,
s.rows_processed ,
100 - round(100 * s.disk_reads/greatest(s.buffer_gets,1),2) hit_ratio,
s.first_load_time ,
sharable_mem ,
persistent_mem ,
runtime_mem,
cpu_time,
elapsed_time,
address,
hash_value
FROM
sys.v_$sql s,
sys.all_users u
WHERE
s.parsing_user_id=u.user_id
and UPPER(u.username) not in ('SYS','SYSTEM')
ORDER BY
4 desc)
WHERE
rownum <= 20;
Beachten Sie, dass Sie bei einer langen Abfrage v_$sqltext abfragen müssen. Dies speichert die gesamte Abfrage. Sie müssen ADDRESS und HASH_VALUE nachschlagen und alle Teile aufheben. Beispiel:
SELECT
*
FROM
sys.v_$sqltext
WHERE
address = 'C0000000372B3C28'
and hash_value = '1272580459'
ORDER BY
address, hash_value, command_type, piece
;