刷新物化视图很慢_ORA-12052,不能建立快速刷新物化视图的解决

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' ;

成功建立该物化视图

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2008-04-21 21:26

浏览 717

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值