ORA-08103:对象不再存在-物化视图

时间:2018-11-26 11:32:58

标签: sql database oracle view materialized-views

我正在从引用实例化视图(mview1)的标准视图(view1)中进行选择。标准视图是使用“ FORCE”选项创建的,而实例化视图是“按需刷新完成”的。我不知道何时刷新实例化视图(谁或什么需要刷新),所以我无法避免在普通视图查询中同时使用该实例化视图。

同时发生这种情况时,针对view1的查询错误如下:

消息:ORA-08103:对象不再存在

我认为,在物化视图中将“ COMPLETE”选项更改为“ FORCE”将防止发生此错误。

如果您可以对此有所了解和/或提供解决方案,将不胜感激。

欢呼

1 个答案:

答案 0 :(得分:1)

首先不要删除并创建实例化视图,使用DBMS_MVIEW.REFRESH过程刷新它-DROP是导致ORA-08103: object no longer exists的原因

您需要将DBMS_MVIEW.REFRESH的{​​{3}}参数设置为true

这将在单个事务中刷新实现视图,因此实现视图永远不会为空。

技术上,在实现视图表上执行DELETEINSERTcommit,因此,在提交新状态之后,直到提交之前,您会看到旧状态。