ORACLE物化视图-不能删除物化视图的解决办法

http://www.anysql.net/oracle/drop_busy_materialized_view.html

 几分钟前一网友问我如何删除一个实体化视图, 当然不是什么语法不会的问题了, 是发了Drop命令后一直挂着, 几个小时都没有结束, 你可以想想为什么? 先看一下创建的语法.

create materialized view  user_order_mavi 
     build immediate  
     refresh   on commit  
     enable query rewrite 
as 
select  service_id,substr(user_isdn,1,7),
         bill_type,follow_action,count(user_isdn)  
from user_order 
group by service_id,substr(user_isdn,1,7),
          bill_type,follow_action

    看到这个语句, 应当是刷新的类型那儿有问题, 在ON COMMIT刷新模式下, 如果基表的DML很频繁, 会造成刷新很频繁, 这可能是DROP语句一直挂起的原因. 建议先运行以下命令:

ALTER MATERIALIZED VIEW user_order_mavi
   DISABLE QUERY REWRITE 
   REFRESH ON DEMAND;

    由于新很频繁, 上面的ALTER语句也等了有半分多钟, 但最后成功执行了. 接下来再进行删除就没有任何问题了, 也很快!

    如何用好物化视图, 也是一门不小的学问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值