请教个问题,现在要设计一个分布式数据库方案,通过查资料,暂时考虑用数据复制技术(不知是不是最合适的),其中要达到的需求是这样的,中心数据库采用oracle,远程数据库用sqlserver,oracle的一些表数据需要更新至sqlserver,而sqlserver的一些数据需要添加(也算是更新)至oracle,由于中心和远程网络不能保证实时畅通,所以不要求即时同步,只要能定期或手动同步,因为还没做过这一方面,对oracle也比较陌生,所以请教csdn的各位指定一下?具体该怎样实现呢,如果有作过类似方案的,你们是怎样实现的呢

解决方案 »

  1.   

    最好就是没次更新都写一个LOG,
    然后再写一个程序在后台实时运行,
    将LOG的记录更新到sql server.
    反之依然
      

  2.   

    我这里有一个oracle与SQL Server同步的项目,不过不是整个数据库(异构数据库之间整个同步没做过),只是所需求的部分对象,主要是大量的交易表数据。
    现在的做法是在SQL Server写好Proc通过DBLink访问Oracle(不管是读和写多单向操作,比较方便,反过来Oracle访问SQL Server有点烦)
    然后就是定制job每天跑。
    最重要的是在proc中写好各种判断方法,以便判断是否同步成功,无论成功与否,都会通过服务器发邮件到我们这里。可以及时处理。大概就这样,你看看这做法有没有点用。
      

  3.   

    用Oracle的透明网关与SQL Server建立连接,做快照来实现,或者写存储过程来同步。
      

  4.   

    用Oracle的透明网关与SQL Server建立连接,快照是不是要求oracle与
    sqlserver也要实时连接呢?
      

  5.   

    用Oracle的透明网关与SQL Server建立连接我正在看,各位能不能再多谈谈有指导性的意见!