物化视图无法删除的解决方法

        刚开发组的兄弟跟我反馈,物化视图无法删除,drop table mv_test是报必须删除物化视图mv_test。以前碰到过这种情况,于是要他执行drop MATERIALIZED VIEW  mv_test ,虽然执行成功,但是在user_object 还是查到该物化视图,只是状态为invalid。

        在网上找了下资料,意见是用on prebuilt table的方式重建物化视图,于是执行下面的语句:

CREATE MATERIALIZED VIEW MV_TEST
on prebuilt table
REFRESH FORCE ON DEMAND
START WITH TO_DATE('28-08-2013 23:30:00', 'DD-MM-YYYY HH24:MI:SS') NEXT SYSDATE+1    
WITH ROWID 
AS
SELECT A.FNO
  FROM SECCOND A, COMMON COMM
 WHERE A.FID = COMM.FID;

     重建不成功,报mv_test这个对象已存在。在pl/sql  developer的MATERIALIZED VIEW中可以看到 mv_test,有报错的标记,找不到定义。

      1. 于是用SYS的账号登陆,在obj$中找到物化视图并删除(这里大家一定要注意,删除之前一定要备份哦,要保证每一步的操作是可逆的)。

      2. 执行上面重建的语句。

      3. drop MATERIALIZED VIEW   mv_test;    

          drop table  mv_test;

      搞定!

   


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值