Về phía từ điển dữ liệu, có rất nhiều công cụ bạn có thể sử dụng, chẳng hạn như Schema Spy
Để xem các truy vấn đang chạy, hãy xem các khung nhìn sys.v_ $ sql và sys.v_ $ sqltext. Bạn cũng sẽ cần quyền truy cập vào sys.all_users
Một điều cần lưu ý rằng các truy vấn sử dụng tham số sẽ hiển thị một lần với các mục nhập như
and TABLETYPE=’:b16’
trong khi những cái khác không hiển thị nhiều lần như:
and TABLETYPE=’MT’
Ví dụ về các bảng này đang hoạt động là SQL sau để tìm 20 ổ đĩa hàng đầu. Bạn có thể thay đổi điều này bằng cách xóa WHERE rownum <=20 và có thể thêm ORDER BY mô-đun . Bạn thường thấy mô-đun sẽ cung cấp cho bạn manh mối về phần mềm nào đang chạy truy vấn (ví dụ:"TOAD 9.0.1.8", "JDBC Thin Client", "[email protected] (TNS V1-V3)", v.v.)
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;
Lưu ý rằng nếu truy vấn dài .. bạn sẽ phải truy vấn v_ $ sqltext. Điều này lưu trữ toàn bộ truy vấn. Bạn sẽ phải tra cứu ĐỊA CHỈ và HASH_VALUE và chọn tất cả các mảnh. Vd:
SELECT
*
FROM
sys.v_$sqltext
WHERE
address = 'C0000000372B3C28'
and hash_value = '1272580459'
ORDER BY
address, hash_value, command_type, piece
;