两个oracle数据库如何同步一个表的数据,求各位大虾帮忙

baidu_17148529 2014-07-02 10:58:30
就是在两台服务器上分别都有一个数据库,
A服务器有oracle_a数据库;
B服务器有oracle_b数据库;

它们都有一个表bd_cubasdoc; 且表结构是一样的,如何将A的bd_cubasdoc数据同步到B的bd_cubasdoc里。B的bd_cubasdoc里已有数据不能重建,我想通过MV的on prebuilt table来实现,但不能刷新,报错。具体语句如下
建立视图
CREATE MATERIALIZED VIEW bd_cubasdoc ON PREBUILT TABLE REFRESH FAST ON DEMAND
   AS SELECT * FROM bd_cubasdoc@DBLINK_wyh;

全局刷新报错
exec DBMS_MVIEW.REFRESH(LIST=>'bd_cubasdoc',METHOD=>'COMPLETE');

ORA-12008: 实体化视图的刷新路径中存在错误
ORA-02292: 违反完整约束条件 (NC57ZS.F_PUB_BD_8) - 已找到子记录
ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2251
ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2457
ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2426
ORA-06512: 在 line 2
请帮忙看看是什么原因,另外同步数据还有没有另外的方法。tigger可能不行,B服务器不是24小时运行的,不能实时数据同步

...全文
476 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
美到心痛 2014-07-13
  • 打赏
  • 举报
回复
B的bd_cubasdoc里已有数据不能重建,意思只是把A表的数据传过去,并不要求A表和B表相同吗? 这样的话,就建个job,通过dblink传就是了.
baidu_17148529 2014-07-12
  • 打赏
  • 举报
回复
引用 4 楼 z_shousi 的回复:
违反完整约束条件 (NC57ZS.F_PUB_BD_8) - 已找到子记录 楼主这不是报错很明确么
z_shousi 有解决的方法吗
baidu_17148529 2014-07-12
  • 打赏
  • 举报
回复
引用 2 楼 ruihuahan 的回复:
有无冲突数据?
有数据冲突,我后面想把备用的数据truncate掉,提示 ORA-02266: 表中的唯一/主键被启用的外键引用 用语句ALTER TABLE bd_cubasdoc disable primary key cascade; 可以执行truncate,但现在的问题是建好物化视图后刷新不了,提示 exec DBMS_MVIEW.REFRESH(LIST=>'bd_cubasdoc',METHOD=>'COMPLETE'); ORA-12008: error in materialized view refresh path ORA-02291: integrity constraint (NC57.F_PUB_BD_3) violated - parent key not found ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2251 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2457 ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2426 ORA-06512: at line 2
baidu_17148529 2014-07-12
  • 打赏
  • 举报
回复
引用 1 楼 Yakecanz 的回复:
写一个JOB,这个JOB调用一个PROCEDURE,数据同步的逻辑写在PROCEDURE中,B服务器运行的时候JOB运行同步操作
Yakecanz 有具体的步骤吗,job不是很懂,谢谢
chen870201 2014-07-07
  • 打赏
  • 举报
回复
这是NC的数据库?
cxyy_ 2014-07-07
  • 打赏
  • 举报
回复
用存储过程吧,dblink后去处理。
  • 打赏
  • 举报
回复
违反完整约束条件 (NC57ZS.F_PUB_BD_8) - 已找到子记录 楼主这不是报错很明确么
ruihuahan 2014-07-06
  • 打赏
  • 举报
回复
有无冲突数据?
Yakecanz 2014-07-06
  • 打赏
  • 举报
回复
写一个JOB,这个JOB调用一个PROCEDURE,数据同步的逻辑写在PROCEDURE中,B服务器运行的时候JOB运行同步操作

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧