ORA-08103:对象已不存在-实体化视图



我从一个引用物化视图(mview1(的标准视图(view1(中进行选择。使用"FORCE"选项创建标准视图,并使用"REFRESH COMPLETE ON DEMAND"创建物化视图。由于我不知道物化视图何时刷新(谁或什么要求刷新(,我无法避免在正常视图查询中使用物化视图的同时对其进行刷新。

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

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

我认为在物化视图中将"COMPLETE"选项更改为"FORCE"选项可以防止此错误的发生。

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

干杯

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

您需要将DBMS_MVIEW.REFRESHatomic_refresh参数设置为true

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

从技术上讲,DELETEINSERTcommit是在实体化视图表上执行的,所以在提交之前,您会看到旧状态,在提交新状态之后。

最新更新