2013-07-01 106 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能力會給你的情況帶來這樣一個錯誤的唯一原因。

相關問題