oracle top 10 sql

Top 10 by Buffer Gets:

 

set linesize 100

set pagesize 100

SELECT * FROM

(SELECT substr(sql_text,1,40) sql,

buffer_gets, executions, buffer_gets/executions "Gets/Exec",

hash_value,address

FROM V$SQLAREA

WHERE buffer_gets > 10000

ORDER BY buffer_gets DESC)

WHERE rownum <= 10 

 

Top 10 by Physical Reads:

 

set linesize 100

set pagesize 100

SELECT * FROM

(SELECT substr(sql_text,1,40) sql,

disk_reads, executions, disk_reads/executions "Reads/Exec",

hash_value,address

FROM V$SQLAREA

WHERE disk_reads > 1000

ORDER BY disk_reads DESC)

WHERE rownum <= 10;

 

Top 10 by Executions:

 

set linesize 100

set pagesize 100

SELECT * FROM

(SELECT substr(sql_text,1,40) sql,

executions, rows_processed, rows_processed/executions "Rows/Exec",

hash_value,address

FROM V$SQLAREA

WHERE executions > 100

ORDER BY executions DESC)

WHERE rownum <= 10 

 

Top 10 by Parse Calls:

 

set linesize 100

set pagesize 100

SELECT * FROM

(SELECT substr(sql_text,1,40) sql,

parse_calls, executions, hash_value,address

FROM V$SQLAREA

WHERE parse_calls > 1000

ORDER BY parse_calls DESC)

WHERE rownum <= 10 

 

Top 10 by Sharable Memory:

 

set linesize 100

set pagesize 100

SELECT * FROM

(SELECT substr(sql_text,1,40) sql,

sharable_mem, executions, hash_value,address

FROM V$SQLAREA

WHERE sharable_mem > 1048576

ORDER BY sharable_mem DESC)

WHERE rownum <= 10;

 

Top 10 by Version Count:

 

set linesize 100

set pagesize 100

SELECT * FROM

(SELECT substr(sql_text,1,40) sql,

version_count, executions, hash_value,address

FROM V$SQLAREA

WHERE version_count > 20

ORDER BY version_count DESC)

WHERE rownum <= 10 

 

Top 10 by CPU usage:

 

select * from

(select sql_text,

round(cpu_time/1000000) cpu_time,

round(elapsed_time/1000000) elapsed_time,

disk_reads,

buffer_gets,

rows_processed

from v$sqlarea

order by cpu_time desc, disk_reads desc )

where rownum < 10;

 

Top 10 for Running Time:

 

select * from

(select t.sql_fulltext,

(t.last_active_time-to_date(t.first_load_time,'yyyy-mm-dd hh24:mi:ss'))*24*60

,disk_reads,buffer_gets,rows_processed,

t.last_active_time,t.last_load_time,t.first_load_time

from v$sqlarea t order by t.first_load_time desc)

where rownum < 10;

 

你可能感兴趣的:(Oracle,TroubleShooting)