环境:
   版  本:ORACLE8I
   服务器:3台工作的ORACLE数据库服务器,且库结构一致,即同一套系统与数据库。一台合并专用的
           数据库服务器。
   网  络:远程的专用网络,但是不同网段,机器间可相互访问。最近装了防火墙,好象访问不了。要实现的功能
   将三台工作的数据库服务器的业务数据都合并到合并专用的数据库中。请问
   如何实现?用触发器还是ORACLE的复制功能?(不够可以加分)问了朋友,说ORACLE在WINDOW的操作系统中会不稳定之类的问题

解决方案 »

  1.   

    ORACLE可有像MSSQL的一样复制、发布的功能?
    如何使用?我原来用的SQL,现在用ORACLE不熟悉,还望各位朋友多提供帮助,谢谢!
      

  2.   

    google一下oracle热备份可能有帮助
    不过这样运行中合并我想需要触发器,听听高手的说法
      

  3.   

    实现比较简单的要求:1服务器----|
    2服务器----|+++>合并数据库服务器
    3服务器 ---|不需要各服务器间数据相互同步。功能就是各分公司的数据合并到总部的一个数据库中。
    有做过ORACLE复制数据库的朋友帮忙一下,先谢谢!
      

  4.   

    数据冲突和事务顺序
    1.冲突
    在拥有三个或更多主体站点的复制环境中,可能会出现顺序冲突。
    比如某个对主体站点X 的传播因某种原因被阻塞,而更新继续被传播至其他站点。当传播重新开始时,
    站点X 上的事务更新顺序可能已经不同于其他站点,由此,冲突可能出现。
    缺省的,冲突的结果被记录在错误日志中,可以等以来事务执行以后,通过重新执行来解决这一冲突。
    为了确保多个主体站点之间的数据一致,你必须选择一个冲突解决方案来保证多个站点之间的数据一致
    性。
    我们看一下包含三个复制站点的环境中,因为事务顺序而产生的冲突:
    这个复制环境中有A,B,C 三个主站点(和我的测试例子类似),每个站点都设置了优先级,A 是30,B 是
    25,C 是10,x 是site-priority 冲突解决方案column group 中的一列,接下来让我们看看数据的歧义是
    怎样因order 而产生的:
    Time Action Site A Site B Site C
    1 所有站点上x=2 2 2 2
    2 Site A,更新 x=5 5 2 2
    3 此时Site C 故障Down 掉 5 2 Down
    4 Site A 把更新推向B;Site A 和Site B 同步,x=5,站点c 仍然不可用,
    更新事务仍然在Site A 的队列中保持
    5 5 Down
    5 Site C 恢复可用,x=2;Site A,Site B 此时x=5 5 5 2
    6 此时Site B,更新x=7 5 7 2
    7 Site B 推事务到Site A;站点A,B 数据同步为7;此时站点C x=2 7 7 2
    8 Site B 推事务至Site C;此时站点C 的旧值为2,而站点B 的更新
    认为旧值为5;此时产生更新冲突;根据站点优先级,所有站点在
    x=7 达成一致
    7 7 7
    9 此时Site A 成功推x=5 的更新至站点C;而此时x=7,并不是更新
    需要的旧值x=2;而站点A 的优先级(30)高于站点C 的优先级(10);
    Oracle 执行x=5 的更新;因为顺序的冲突,站点数据不再一致
    7 7这样的复制冲突,在WINDOWS出现,在LINUX下也会出现的吧?
      

  5.   

    总部的数据库服务器能不能跟分公司的服务器通过连接串连接?
    如果可以的话,在总部服务器中建立Database Links,PL/SQL你有没有用过,然后建立视图:把三个分公司的数据union起来就可以了,总部的那个表可以不要,视图的名称和表名一样,用这个视图替代。
    如果不行的话,分别在分公司中,将数据导出来,也是用PL/SQL,可以导出成SQL文件,也可以是PDE文件,如何再到总部数据库中执行。
      

  6.   

    在总部建立个job通过dblink定时(每隔一分钟)取三个数据库的数据