ORA-12052,不能建立快速重新整理物化檢視的解決
SQL> CREATE MATERIALIZED VIEW mv_vcard_last_hlrlist refresh fast as
select vcard.username,
vcard.nick_name,vcard.pcode,hlrlist.region,
vcard.birth_year, vcard.icon, vcard.descr, last.state,
vcard.HLR_CITY, vcard.BIRTH_MONTH, vcard.BIRTH_DAY
from hlrlist ,last ,vcard
where vcard.username = last.username and vcard.hlr_city = hlrlist.hlr_id
and vcard.status = 0 and last.state='Online' ;
2 3 4 5 6 7 8 and vcard.status = 0 and last.state='Online'
*
ERROR at line 8:
ORA-12052: cannot fast refresh materialized view IMPS.MV_VCARD_LAST_HLRLIST
begin
DBMS_MVIEW.EXPLAIN_MVIEW('select vcard.username,vcard.nick_name,vcard.pcode,hlrlist.region,vcard.birth_year, vcard.icon, vcard.descr, last.state,vcard.HLR_CITY, vcard.BIRTH_MONTH, vcard.BIRTH_DAY from hlrlist ,last ,vcard where vcard.username = last.username and vcard.hlr_city = hlrlist.hlr_id');
END;
SELECT CAPABILITY_NAME, POSSIBLE, MSGTXT
FROM MV_CAPABILITIES_TABLE
WHERE CAPABILITY_NAME LIKE 'REFRESH%';
CAPABILITY_NAME P
------------------------------ -
MSGTXT
--------------------------------------------------------------------------------
REFRESH_COMPLETE Y
REFRESH_FAST N
REFRESH_FAST_AFTER_INSERT N
the SELECT list does not have the rowids of all the detail tables
CAPABILITY_NAME P
------------------------------ -
MSGTXT
--------------------------------------------------------------------------------
REFRESH_FAST_AFTER_ONETAB_DML N
see the reason why REFRESH_FAST_AFTER_INSERT is disabled
REFRESH_FAST_AFTER_ANY_DML N
see the reason why REFRESH_FAST_AFTER_ONETAB_DML is disabled
REFRESH_FAST_PCT N
PCT is not possible on any of the detail tables in the materialized view
發現是因為沒有包括各個表的rowid
於是改為:
CREATE MATERIALIZED VIEW mv_vcard_last_hlrlist refresh fast as
select hlrlist.rowid arowid,last.rowid browid,vcard.rowid crowid, vcard.username,
vcard.nick_name,vcard.pcode,hlrlist.region,
vcard.birth_year, vcard.icon, vcard.descr, last.state,
vcard.HLR_CITY, vcard.BIRTH_MONTH, vcard.BIRTH_DAY
from hlrlist ,last ,vcard
where vcard.username = last.username and vcard.hlr_city = hlrlist.hlr_id and last.state='Online' ;
成功建立該物化檢視
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7916042/viewspace-1002789/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【物化檢視】根據物化檢視日誌快速重新整理物化檢視的過程
- 物化檢視的快速重新整理測試與物化檢視日誌
- Oracle如何根據物化檢視日誌快速重新整理物化檢視Oracle
- 建立快速重新整理物化檢視使用with rowid還是with primary key?
- 【ORACLE】物化檢視快速重新整理限制條件Oracle
- Oracle 物化檢視 快速重新整理 限制 說明Oracle
- 10G物化檢視PCT快速重新整理不再需要物化檢視日誌(三)
- 10G物化檢視PCT快速重新整理不再需要物化檢視日誌(二)
- 10G物化檢視PCT快速重新整理不再需要物化檢視日誌(一)
- 12c 物化檢視 - 對快速重新整理的理解
- Oracle 物化檢視快速重新整理對效能的影響Oracle
- 包含複雜查詢的快速重新整理的物化檢視
- oracle 建立物化檢視Oracle
- Oracle 物化檢視建立Oracle
- Oracle 物化檢視1 - 單表聚合及其快速重新整理Oracle
- 12c 物化檢視 - 理解完全重新整理的物化檢視工作原理
- ZT 定位導致物化檢視無法快速重新整理的原因
- ORACLE中的物化檢視建立Oracle
- oracle 物化檢視重新整理方法Oracle
- 基於複製的多層巢狀快速重新整理物化檢視巢狀
- 物化檢視的建立(全刷模式)模式
- 給物化檢視設定自動快速重新整理功能失敗
- 建立job進行重新整理物化檢視,job執行失敗。
- 物化檢視重新整理並非完全根據物化檢視日誌記錄
- 物化檢視日誌表被DROP後建立物化檢視報錯
- oracle 物化檢視的自動重新整理方法Oracle
- 物化檢視重新整理的問題及分析
- MV (Materialed View) 物化檢視的重新整理組View
- 建立物化檢視MV ( Materialized View )ZedView
- 物化檢視詳解
- 物化檢視日誌與增量重新整理
- Oracle物化檢視的建立及使用(二)Oracle
- Oracle物化檢視的建立及使用(一)Oracle
- 建立遠端基表的物化檢視
- Oracle 11g 建立物化檢視Oracle
- 使用 on prebuilt table 建立物化檢視 (ZT)UI
- 使用 on prebuilt table 建立物化檢視(zt)UI
- 淺析為何Oracle物化檢視對distinct, group by不支援快速重新整理Oracle