如何判断Oracle中的物化视图是否正在使用?

时间:2009-11-25 16:14:08

标签: oracle oracle9i materialized-views

我们的Oracle 9i数据库中有一些物化视图,这些视图是很久以前由一个不再在这里工作的人创建的。是否有一种简单(或任何)方法来确定Oracle是否使用这些视图来提供查询?如果它们不再被使用,我们想要摆脱它们。但是我们不想发现这些观点是允许一些随机报告在不到几个小时内运行的事实。我梦想的答案就像是

SELECT last_used_date FROM dba_magic
WHERE materialized_view_name = 'peters_mview'

更棒的是可以告诉我实际的SQL查询使用物化视图的东西。我意识到我可能不得不满足于此。

如果有一个需要10g的解决方案,我们很快就会升级,所以这些答案也会很有用。

3 个答案:

答案 0 :(得分:6)

Oracle审核可以根据文档配置一次告诉您。配置完成后,通过“AUDIT SELECT ON {物化视图名称}”启用它。审计跟踪将位于SYS模式的AUD $表中。

答案 1 :(得分:0)

除了审计之外的一种方法是在一次刷新之后和下一次刷新之前读取v $ segment_statistics视图以查看是否有任何读取。您还必须考虑任何自动统计信息收集工作。

答案 2 :(得分:0)

V $ SQLAREA表有两列有助于识别数据库执行的查询。

SQL_TEXT - VARCHAR2(1000) - 当前游标的SQL文本的前千个字符 SQL_FULLTEXT - CLOB - 当前游标的

的SQL文本的所有字符

我们可以使用此列来查找使用所述物化视图的查询