收集oracle使用统计信息(查看哪些表)

时间:2012-06-05 17:59:53

标签: sql oracle

我正在尝试收集大型Oracle数据库的使用情况统计信息。我知道查看DBA_TAB_MODIFICATIONS视图以查看INSERT,UPDATE和DELETE统计信息。但是只是选择陈述呢?我试图找到从未使用过的表。

SYS.DBA_HIST_SQLTEXT有一个SQL_TEXT字段,用于存储在特定时间段内运行的各个查询,其中SQL_ID为PK。我已经考虑过解析它来挑选表名,但这似乎太过分了。我正在寻找另一种选择。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

假设您使用的是最新版本的Oracle(我相信9.2或更高版本),您可以查看V$SEGMENT_STATISTICS。这会逐段显示许多不同的性能计数器。如果你只看statistic_name='logical reads',那将会让你很清楚什么表读得很少。当然,即使应用程序从不使用表,也完全有可能会记录某些内容,例如备份或递归SQL(即验证外键)。完全有可能很少读取表的段,但经常读取该表的索引(即索引足以满足应用程序对表数据所需的大多数访问类型)。