有两个数据库A和B , A,B 库中的的表都一致,现在A库增加了数据,但没有指定具体是哪个表增加了,可能每天增加的数据进了不同的表中, 要实现B 库中的表也要增加数据,我的想法是比对数据库中的每一个表,找出B库上不存在的数据,增加到B库中去,应当怎么做请高手帮忙解决

解决方案 »

  1.   

    如果database中table不是很多的话,建议为每一个table写一个trigger,
      

  2.   

    库中有200多个表,现在没有想到其它好的办法,因为可能存在这种情况,A 库 ,和B 库都在增加数据,但是只是比较出B库不存在的数据增加到B库中,B库新增加的数据不用再增加到A库
      

  3.   

    楼主的意思是不是:要在A数据库增加新纪录时,自动在B数据库增加同样的记录?
    如果是这样,那么需要建立一种复制机制(表和包),依靠编程监控A库,然后在B库写入同样的数据。
      

  4.   

    最好写个job,每2分钟运行一次,发现A表中存在记录而B表中不存在记录的,把它加入到B表
      

  5.   

    还可以使用Oracle® Database Advanced Replication,如果你数据库很大的话
      

  6.   

    应该可以用Oracle的Logmnr每天去解析A库产生的归档日志,然后在B库执行。