doc Name: fullscan.sql Author: Mark Gurry The following scripts provide information on the full table scan activity. If your application is OLTP only, having long full table scans can be an indicator of having missing or incorrect indexes or untuned SQL. # drop view Full_Table_Scans; create view Full_Table_Scans as select ss.username||'('||se.sid||') ' "User Process", sum(decode(name,'table scans (short tables)',value)) "Short Scans", sum(decode(name,'table scans (long tables)', value)) "Long Scans", sum(decode(name,'table scan rows gotten',value)) "Rows Retreived" from v$session ss, v$sesstat se, v$statname sn where se.statistic# = sn.statistic# and (name like '%table scans (short tables)%' OR name like '%table scans (long tables)%' OR name like '%table scan rows gotten%' ) and se.sid = ss.sid and ss.username is not null group by ss.username||'('||se.sid||') '; column "User Process" format a20; column "Long Scans" format 999,999,999; column "Short Scans" format 999,999,999; column "Rows Retreived" format 999,999,999; column "Average Long Scan Length" format 999,999,999; ttitle ' Table Access Activity By User ' select "User Process", "Long Scans", "Short Scans", "Rows Retreived" from Full_Table_Scans order by "Long Scans" desc;