条件:
数据库A:10.10.1.11:1521@AAA
数据库B:10.10.1.22:1521@BBB
数据表Ta,Tb现在需要从数据库A每天晚上把表Ta,Tb的所有记录同步到数据B,包括所有有进行过修改、删除、新增操作的记录(等于就是把两张表从数据库A exp出来,然后imp到B数据库)。请问如何操作比较方便且高效。

解决方案 »

  1.   

    如果表里没有特殊类型的数据在B上造A的DBLink,A上设计一个存储过程 ,实现merge into 然后定时任务调这个存储过程
    如果你表里的数据变化非常大,基本都修改过了,那干脆把merge into 换成truncate B里的表,insert into B里的表 from A里的表@dblink
    要性能吗,还得看具体环境,不过原则是宁可本地读取 远程插入,因为远程查询数据似乎无法利用远程数据库上索引,也无法执行远程数据库上的优化器
      

  2.   

    这个TAB文件啊,设置定时触发
      

  3.   

    建议使用ETL工具,比如:kettle或者datastage等。
      

  4.   

    建议使用ETL工具,比如:kettle或者datastage等。
      

  5.   

    1、用dataguard或者shareplex做数据同步
    2、使用物化视图方式方式,第二个数据库中的表直接使用物化视图来自动刷新,只要设置定时刷新机制即可
      

  6.   

    如果只同步数据的话,而且允许B可以脱机的话,那就自己写脚本结合IMP的特性,先删除B的用户方案,然后再建立该方案再倒入数据,这样子速度也是比较快的。不过要求的就是B要脱机。如果B不能脱机的话,那就在A上建立一个DBLINK--B,然后A上查询数据再写到B上去。这样子也比较高效一点。个人简介哈。不过要高效要根据楼主实际环境来判断。这样子会好一点。上面的只是个建议。