Oracle报错ORA-26563--当重命名表时碰到物化视图
https://www.toutiao.com/i6739137279115133447/
原创 波波说运维 2019-09-26 00:02:00
概述
rename的时候如果碰到这个表有物化视图会提示ORA-26563错误,如果按网上解决办法是drop materialized view log on TBL_COMM_COMMONTICKET; 那重命名后会有影响吗?会不会不产生物化视图日志?网上很多只是告诉你删除物化视图日志就可以了,但是如果删除后是会影响物化视图的,所以网上的内容还是要保持一份怀疑,最好自己测试一下。
报错截图
思路
如果在重命名Oracle表的时候出现ORA-26563: 不允许重命名此表错误,试着将表上的物化视图日志drop就可以了。
1、查看物化视图日志
2、查看是否存在对象
3、保存物化视图对象定义
-- Create tablecreate table MLOG$xx( M_ROW$$ VARCHAR2(255), SNAPTIME$$ DATE, DMLTYPE$$ VARCHAR2(1), OLD_NEW$$ VARCHAR2(1), CHANGE_VECTOR$$ RAW(255), XID$$ NUMBER)tablespace DATA pctfree 10 initrans 1 maxtrans 255 storage ( initial 1 next 1 minextents 1 maxextents unlimited pctincrease 0 );-- Add comments to the table comment on table MLOG$xxx is 'snapshot log for master table GLOGOWNER.xxx';
4、删除物化视图日志并重命名表
5、重建物化视图日志
记得重建回来!
6、刷新物化视图
select * from user_objects where object_type='MATERIALIZED VIEW' and object_name like '%FSL_TRUNK%'; exec dbms_mview.refresh('MV_OTM_FSL_TRUNKSHIPMENT_DE','C');
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~