2016-11-13 27 views
0

这里是我试图解决一个问题 -甲骨文行访问统计

场景:

    具有大量的行(〜7亿)
  1. 累计在一个表
  2. 的Oracle生产数据库期间,说10年

要求:

分区以这种方式,一个分区应该具有在“定义时间段”内被访问或更新的行,而另一个将具有在该“定义的时间段”内从不被检索或更新的行。

由于此表已更新时间戳列,因此很容易找出更新的行。

所以我想知道是否有任何内置的行级统计可用,可以给我关于行访问的这个信息?

+0

除非您碰巧在定义的时间段内对'select'语句进行​​了细粒度的审计。这就是说,这个要求没有意义。这不是业务需求 - 业务需求并未指定技术实现。作为技术要求似乎没有意义。从技术上讲,您可能需要对表进行分区以将频繁访问的数据与不常访问的数据分开,但没有理由关心某行是否从未被访问或很少被访问。 –

回答

0

如果您想查找行修改时间,SCN可以提供帮助。

Select scn_to_timestamp(ora_rowscn), t.* from my_table t; 

注:scn高度依赖于表定义 - 即它可以定义为行级或块级。另一件事,oracle将oracle保存到timestamp映射的限制。