如何检查mview日志是否正在使用?
select * from sys.mlog$
我在上面的sys表中有两行但是mviews的连接在哪里?
编辑:由于缺乏理解,我的问题很可能不清楚。我会试着在这里改写一下:
我在数据库中看到2个mview日志。我也看到他们所属的表格。我的理解是mview日志用于“REFRESH FAST”mviews。也许他们也可以用于其他东西。所以在删除这些mview日志之前,我想知道它们是否正在使用中。我可以以某种方式查询依赖于这些mview日志的mviews吗?
答案 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