Title: Message
How is everyone identifying hot tables?  In my tool box I have the following two scripts but I am looking for other options.  How do you track frequently accessed tables?
 
Script #1 - Author unknown:
select obj_name, sum(decode(action_name,'SELECT',1,0)) sel  ,sum(decode(action_name,'INSERT',1,0)) inserts,
                            sum(decode(action_name,'UPDATE',1,0)) updates,
                            sum(decode(action_name,'DELETE',1,0)) deletes
from dba_audit_trail
having sum(decode(action_name,'SELECT' , 1, 'INSERT',1, 'DELETE',1,'UPDATE',1,0)) > 0
group by obj_name;

Script #2 - Dave Ensor (BMC):
set verify off
col CTYP heading 'Command Type'
col OBJ  format a32 wrap   heading 'Table'
col EXES format 999,990    heading 'Execs'
col GETS format 99,999,990 heading 'Buff Gets'
col ROWP format 99,999,990 heading 'Rows Proc'

select CTYP
     , OBJ
     , 0 - EXEM  EXES
     , GETS
     , ROWP
  from (select distinct EXEM, CTYP, OBJ, GETS, ROWP
          from ( select decode (S.COMMAND_TYPE
                                  ,  2, 'Insert into '
                                  ,  3, 'Select from '
                                  ,  6, 'Update  of  '
                                  ,  7, 'Delete from '
                                  , 26, 'Lock    of  ') CTYP
                         , O.OWNER || '.' || O.NAME    OBJ
                         , sum(0 - S.EXECUTIONS)       EXEM
                         , sum(S.BUFFER_GETS)          GETS
                         , sum(S.ROWS_PROCESSED)       ROWP
                    from V$SQL               S
                       , V$OBJECT_DEPENDENCY D
                       , V$DB_OBJECT_CACHE   O
                   where S.COMMAND_TYPE in (2,3,6,7,26)
                     and D.FROM_ADDRESS = S.ADDRESS
                     and D.TO_OWNER     = O.OWNER
                     and D.TO_NAME      = O.NAME
                     and O.TYPE         = 'TABLE'
                group by S.COMMAND_TYPE
                       , O.OWNER
                       , O.NAME )  )
 where ROWNUM <= &1
/

 

 

Reply via email to