[转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

时间:2022-01-25 02:17:17

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--当重命名表时碰到物化视图

 

思路

如果在重命名Oracle表的时候出现ORA-26563: 不允许重命名此表错误,试着将表上的物化视图日志drop就可以了。

1、查看物化视图日志

[转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

 

2、查看是否存在对象

[转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

 

3、保存物化视图对象定义

-- Create table
create 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、删除物化视图日志并重命名表

[转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

 

5、重建物化视图日志

记得重建回来!

[转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

 

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‘);
[转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

 

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~