ITPub博客

首页 > 数据库 > Oracle > 高级复制增加列导致update表或视图不存在

高级复制增加列导致update表或视图不存在

原创 Oracle 作者:wenhual43 时间:2014-04-01 03:25:41 0 删除 编辑
情况如下:
     有2个数据库,一个master,  一个物化视图站点。双向复制。
     主体站点的表需要添加字段,并且初始化新添加的字段。
     当我把复制关系,刷新组都删除,物化视图日志也删除了,但是在执行update 主体站点的时候,提示“表或视图不存在”。

物化视图站点
SELECT * FROM DBA_REPGROUP;
SELECT * FROM DBA_REPOBJECT;
SELECT * FROM USER_REFRESH;
都没有结果。

主体站点查询
SELECT * FROM DBA_REPGROUP;
SELECT * FROM DBA_REPOBJECT;
没有记录,查看dba_tables ,dba_objects没有MLOG$_XXXXXX 开头的表。说明删除干净。
但是SELECT * FROM DBA_MVIEW_LOGS; 有MLOG$_XXXXXX 开始的表。

     分析:因为错误发生在断开复制,添加字段后。
     领导说能不能rename  表,这时候提示:

ORA-26563: renaming this table is not allowed。

Action: If desired, unregister the replicated table with dbms_repcat.drop_master_repobject, or use the recommended procedure to rename the master table of a materialized view.

DBMS_REPCAT.DROP_MASTER_REPOBJECT 我执行过了啊。

create MATERIALIZED VIEW LOG ON tab;  提示日志已存在。
drop  MATERIALIZED VIEW LOG ON tab;

再次update主表,不再提示表或视图不存在。
 原来物化视图日志会报这么一个错。提示信息让人莫名其妙。倒是重命名表,根据提示去看action ,能抓到一些眉目。




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25027760/viewspace-1133643/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-08-03

  • 博文量
    32
  • 访问量
    130411