1

如果不创建触发器,是否有任何 V$ 视图显示上次访问或使用表空间或数据文件的时间?

让您了解为什么...我正在寻找进行一些重组,并且很高兴知道我是否可以使该特定对象或 tbs 脱机。

4

1 回答 1

0

DBA_HIST_SEG_STAT 记录每个快照每个表空间的读取次数。DBA_HIST_ 表只定期刷新,通常每小时刷新一次。要检索最新数据,需要将使用 V$SEGMENT_STATISTICS 的非常相似的查询联合到下面的查询中。

查找每个数据文件的信息比较棘手。该信息位于 DBA_HIST_ACTIVE_SESS_HISTORY 中,通常在 P1TEXT = 'file#' 时位于 P1 列中。但是该信息只是一个示例,很可能无法捕获对数据文件的单次读取。

请注意,使用 DBA_HIST_ 表需要 Configuration Pack 许可证。

select name, begin_interval_time, end_interval_time, sum(logical_reads_delta)
from dba_hist_seg_stat
join dba_hist_snapshot using (snap_id, dbid, instance_number)
join v$tablespace using (ts#)
group by v$tablespace.name, begin_interval_time, end_interval_time
having sum(logical_reads_delta) > 0
order by v$tablespace.name, begin_interval_time desc
于 2014-04-02T04:10:23.667 回答