Oracle mview登录使用?

时间:2017-02-27 11:42:21

标签: oracle

如何检查mview日志是否正在使用?

select * from sys.mlog$

我在上面的sys表中有两行但是mviews的连接在哪里?

编辑:由于缺乏理解,我的问题很可能不清楚。我会试着在这里改写一下:

我在数据库中看到2个mview日志。我也看到他们所属的表格。我的理解是mview日志用于“REFRESH FAST”mviews。也许他们也可以用于其他东西。所以在删除这些mview日志之前,我想知道它们是否正在使用中。我可以以某种方式查询依赖于这些mview日志的mviews吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询。

select  master, log, temp_log from sys.mlog$ where mowner = user and master = 'Table Name';

Master表示表名。 Mview日志文件可以不存在物化视图。

您可以使用GET_MV_DEPENDENCIES DBMS_MVIEW程序包来了解与特定表格相关的MView。

示例:dbms_mview.get_mv_dependencies (owner.table, output);

<强>更新 上面的过程将为您提供与表相关的MView。查询USER/ALL_MVIEWS以了解其刷新方法。

SQL> select mview_name, refresh_method from user_mviews;

MVIEW_NAME                     REFRESH_
------------------------------ --------
M_VIEW_A                       FAST

如果它的刷新方法是FAST,那么您需要MView日志。

<强>文档 Refresh Dependent Materialized Views with REFRESH_DEPENDENT