业务需求:在内网上有一数据库(oracle),外网上也有一数据库(oracle),表结构一样。现在需要每天定时把内网的数据(新增,和修改)同步到外网的数据库上,也就是要求两个数据库数据一致。
技术要求:必须用程序来实现,要考虑大数据量的情况。平台用.net(c#),大家帮我提提建议,需要注意一些什么技术才能高效率的来实现。我想的是用ODP.net来做数据库的访问组件,建立一张表来记录内网数据的更新情况(用时间戳标识)。现在需要解决的问题是,要保证程序的通用性,也就是我要把oracle的所有的数据类型都判断一遍,还有就是大数据量插入和更新的问题,有好的建议没,大家提提。

解决方案 »

  1.   

    自己做中间件?有好些方法吧,例如该表结构,加上时间字段,不改动之前应用的话,就去读取日志的SCN号,自己做个还原操作的再现
      

  2.   

    我的意思是在.net中,除了用ODP.net的传递多组参数以外,还有没有什么更好的方法。
    还有就是有没有现成的判断oracle的所有数据类型的插入语句的第三方dll
      

  3.   

    第三方dll,ORACLE已经有现成的技术实现,DATAGUARD,STREAM,
    应该也是能做二次开发和扩展的,你去查查资料
      

  4.   

    何必自己实现,建议用oracle自带工具或第三方,如 :godengate
    DDL,DML 都可以实现同步。
    如果那么容易自己实现,这些厂商可以失业了。
    当然,如果只是同步几张固定的表,那么可以考虑自己写程序。毕竟买软件是要花钱的