我目前访问了一系列意见和物化视图。实质化由第三方维护,第三方提供关于物化的频率和成功的很少信息。最近,物化视图未能刷新,并且发出了大量不正确/延迟数据的报告。
目前,我正在查询每个实现的内容,我打算用什么来确定在事务系统内发生最新更新的时间,如果没有被刷新,那么代码的其余部分就不会执行,但是这很多浪费的努力有时会导致到一个不正确的假设(物化视图可能已刷新,但没有额外的事务 – 因此其余的代码不执行),我宁愿另一种方法。
有没有办法确定实体化视图是否已使用Oracle系统表刷新?如果没有,有没有人有任何想法,我不会这样做,而不必联系第三方?
看来doc_180已经在评论中回答了这一点,我不知道为什么它没有被添加为答案
SELECT owner,mview_name,last_refresh_date FROM all_mviews WHERE owner = <<user that owns the materialized view>> AND mview_name = <<name of the materialized view>>
如果您有权访问DBA表,则可以将DBA_MVIEWS替换为ALL_MVIEWS。这将允许您访问有关每个物化视图何时刷新的信息,而不仅仅是您可以访问的物化视图的子集。当然,这在大多数情况下尤为重要。