布局:X为最高一层的节点,X下面有A,B,C,D四个节点,A下面有A1,A2,A3,B下面有B1,B2,B3,C下面有C1,C2,C3,D下面有D1,D2,D3.信息:X中的一些信息需要同步到A,B,C,D以及其子节点。各个节点的一些信息需要同步到其上级节点和X中。环境:用的是Oracle9i。需求:1、能不能帮忙给我一个同步方案。
      2、选择用触发器还是别的什么技术。如果断网之后,能不能有一种方法,在联网之后,把从断网到现在时刻的数据同步过去。
      3、如果数据量大的话,采取什么方式呢?事情比较急,恳请大家帮帮忙谢。

解决方案 »

  1.   

    1.使用JOB,在JOB中执行同步的存贮过程(主要是判断和insert),使相关联的数据保持一致。
    2.如果数据量太大的话,可考虑使用分区。
      

  2.   

    网络结构就是一个内部网络,算是城域网吧,10M带宽。有的实时性的要求比较高,数据库里面的核心表有10张,每张数据表的数据量每天更新大约10条吧,每天10K的样子。同步的数据每一条不会超过10K,每天几十条。
      

  3.   

    数据量大的话,job效率要比触发器高
    表中设置一个更新时间字段lasttime,job中按这个时间定时进行同步
    要删除的记录可以将lasttime更新为3000-1-1
    同步完之后对日期为3000-1-1的数据统一进行删除或者再建一张表,储存删除记录的主键信息,同步时依此对其他节点中的记录进行删除
      

  4.   


    更新量这么小..
    那么通过触发器和dblink来同步能保证实时性
      

  5.   

    数据量大用JOB,数据量小用触发器
      

  6.   

    你这里数据量不大,主要考验网络速度了。如果网络情况和结构允许,就用trigger和database link解决了。