我创建了一些物化视图,Oracle SQL Developer提供了一些红色的' x'他们每个人旁边。当我查询它们并在SQL Plus中运行以下查询时,它们返回正确的信息表明没有错误:
SELECT * FROM USER_SNAPSHOTS
此中的ERROR
列为相关的物化视图返回0。
有谁知道为什么SQL Developer认为有错误?还有其他我可以检查的地方吗?
根据Patrick的建议,我运行了以下查询:
SELECT * FROM ALL_MVIEWS
COMPILE_STATE是' NEEDS_COMPILE'对于每个有问题的视图。这是什么意思?为什么需要重新编译?没有任何基础表格被更改。
答案 0 :(得分:2)
出于某种原因,只需刷新物化视图就会出现“错误”错误。走开。因此,这不是一个真正的错误,而是提醒您数据不是最新的。我猜你可以忽略它,如果表结构实际上没有改变那么......
答案 1 :(得分:0)
这可能是由于修改实例化视图所基于的基础表所致。例如:增加实例化视图中包含的表中列的最大大小。
要刷新实例化视图,您可以执行以下操作:
BEGIN
DBMS_SNAPSHOT.REFRESH('Name of materialized view');
END;