2013-07-01 105 views
0

在包含大量列,索引和约束的表上创建物化视图时,我有一个奇怪的问题。在Oracle 11g上使用快速重新创建物化视图

我试图运行以下命令:

CREATE MATERIALIZED VIEW MVX 并行构建即时 REFRESH快 SELECT * FROM TABLE_NAME

运行我的命令后:“不能创建一个快速刷新物化视图从一个复杂的查询“ 因此,我运行命令: dbms_mview.explain_mview('SELECT * FROM table_name') 并在REFRESH_FAST_AFTER_INSERT检查mv_capabilities_table,有消息: ”内嵌视图或s在FROM列表中的ubquery不支持此类型的MV“

  1. 我已经使用主键和rowid在表上创建了matiralized视图日志。
  2. 我试图在副本表 创建相同matiralized视图(CREATE TABLE copy_table_name如SELECT * FROM表名) 并完成成功(创建日志放在这张桌子太)

这种观点必须快速刷新。 我无法解释它为什么在复制表上成功,并且在原始表上失败。 有帮助吗?

+1

这张表的声音实际上是一个视图。 –

+0

不,不。 Definitley一张桌子。 – user967710

+0

您最好展示您创建mv的所有代码,测试功能并显示它不是视图,而是我认为的表格。 –

回答

0

您的表格中的某一列可能是计算/虚拟列吗?如果有的话,我会调查它可能无法在这种情况下工作。这是我能想到为什么MV能力会给你的情况带来这样一个错误的唯一原因。

相关问题