2011-08-18 26 views
1

只是想知道有没有办法列出数据库中所有未被查询的对象。 我知道你可以通过sys.dba_Objects看到last_ddl_time和Created Time。但我对特殊对象的索引和tables.And谁使用它更感兴趣的是Total_reads。(不是所有者)列出旧对象

感谢

回答

2

你大概可以使用V$SEGMENT_STATISTICS观点得到你之后的信息。例如,如果你想看看有多少逻辑读取已在各段的SCOTT模式自上次重新启动数据库

SQL> select owner, object_name, value 
    2 from v$segment_statistics 
    3 where statistic_name = 'logical reads' 
    4  and owner = 'SCOTT'; 

OWNER       OBJECT_NAME       VALUE 
------------------------------ ------------------------------ ---------- 
SCOTT       STATS_TEST       448 
SCOTT       BIN$bQrMO1+dTOOh9S8K9O+z+Q==$0   0 
SCOTT       COUNTER_TEST       1760 
SCOTT       BIN$763dsleISbi+AfEp20EN7A==$0   80 
SCOTT       TEST_TABLE       5424 
SCOTT       BIN$5QAh3TmjRWqeMKof7tY93g==$0  144 
SCOTT       BIN$1i4uV7CbQL2Pl0tANHsJQw==$0   80 
SCOTT       BIN$8ydZ/jHySAeudojTmTtByQ==$0   48 
SCOTT       FOO_TEMP        112 
SCOTT       ERR$_FOO        64 
SCOTT       EVENT         32 
SCOTT       FOO         32 
SCOTT       T1         176 
SCOTT       T2          80 
SCOTT       EMP         32 
SCOTT       GRAD_STUDENT_TB      240 
SCOTT       SYS_C0024557       64 
SCOTT       PK_EMP         0 

18 rows selected. 

如果被许可使用的AWR完成,您的AWR保留足够长,您可以使用更少的可用统计数据做出应有的贡献,并且您只对最常用的段感兴趣,您也可以使用DBA_HIST_SEG_STAT表。

SQL> ed 
Wrote file afiedt.buf 

    1 select snap.begin_interval_time, 
    2   stat.logical_reads_delta, 
    3   obj.object_name 
    4 from dba_hist_seg_stat stat 
    5   join dba_hist_snapshot snap using (snap_id) 
    6   join dba_objects obj on (obj.object_id = stat.obj#) 
    7* where obj.owner = 'SCOTT' 
SQL>/

BEGIN_INTERVAL_TIME   LOGICAL_READS_DELTA OBJECT_NAME 
------------------------------ ------------------- -------------------- 
16-AUG-11 04.00.11.428 PM      160 T1 
18-AUG-11 12.00.13.856 PM      144 GRAD_STUDENT_TB 
18-AUG-11 12.00.13.856 PM      48 SYS_C0024557 
20-AUG-11 03.00.59.376 PM      144 LOAN_TXN 

如果你想找出一个特定对象是否被轻易使用,然而,AWR很可能不是因为它可能不会尽管是在任何快照窗口顶部段之一显示了正确的解决方案偶尔使用。

或者,您可以编写自己的过程来定期捕获V$SEGMENT_STATISTICS中的数据,并通过从不同快照中减去统计值来计算增量。

+0

谢谢。有没有一种观点可以给我关于时间的信息。我们有一个非常大的基础设施,高达400 Tb只在开发中,我想开始监视一段时间内没有使用的对象。 – Imran

+0

@Imran - 我添加了一些关于AWR表的内容,但我并不认为这会成为你的追随者。你可能会更好地在某个时间间隔自己从'V $ SEGMENT_STATISTICS'获取数据,并减去统计值。 –

+0

谢谢@Justin你真的很有帮助 – Imran