获取物化视图状态,未知状态
Posted
技术标签:
【中文标题】获取物化视图状态,未知状态【英文标题】:get materialized view state, unknown state 【发布时间】:2021-12-01 04:31:15 【问题描述】:朋友们早安,
我如何知道物化视图是否已正确更新。
我在视图中使用的刷新方法是:完整、快速和强制。
我目前正在使用视图的状态来确定它是否正确更新,但这给我带来了问题。
代码:
SELECT OWNER,MVIEW_NAME,AFTER_FAST_REFRESH, STALENESS, COMPILE_STATE FROM DBA_MVIEWS
在我看来,它需要编译或未知状态(列:COMPILE_STATE),我正在调查,它可能显示为未知的原因有多种,我还有什么其他方法来获取视图的更新状态或者我能做什么?
我将不胜感激。
谢谢你, 问候。
【问题讨论】:
“但它给我带来了问题” - 什么问题? STALENESS 应该是“FRESH”和 COMPILE_STATE="VALID" 这些是当前的状态。 1) STALENESS =NEEDS_COMPLILE, COMPILE_STATE=NEEDS_COMPLILE 2) STALENESS =UNDEFINED, COMPILE_STATE=VALID 【参考方案1】:你也可以使用DBA_MVIEW_REFRESH_TIMES
:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DBA_MVIEW_REFRESH_TIMES.html
DBA_MVIEW_REFRESH_TIMES 描述了数据库中所有物化视图的刷新时间。
和DBA_REGISTERED_MVIEWS
DBA_REGISTERED_MVIEWS 描述了数据库中所有已注册的实体化视图(在主站点或主实体化视图站点注册)。它的列与 ALL_REGISTERED_MVIEWS 中的列相同。
【讨论】:
以上是关于获取物化视图状态,未知状态的主要内容,如果未能解决你的问题,请参考以下文章