我有服务器A,服务器B;服务器A数据较多为业务系统,每天都在改变;服务器B为网站系统,现在要每周取服务器A的几张固定的表中做过更新的内容(相对于上周)去更新服务器B数据,自动更新,这个用什么实现好呢?

解决方案 »

  1.   

    什么版本的数据库?mv 或者stream都可以考虑. procedure也可以.
      

  2.   

    看你的用途,如果只是用来实现在另一台机器上做查询,其实 mv是比较合适的.如果表结构会变化,而另一个机器上什么都要做(意思是数据的增删改),那么还是用高级复制吧.如果仅仅是数据变化,而另一个机器上什么都要做(意思是数据的增删改),那写个存储过程+dblink 通过insert 的方式最简单.还要看你的数据实时程度了,像你说的定时的话,那就无所谓了.如果实时的话,mv  trigger都行.
      

  3.   

    感觉用Procedure + Job比较可行,在原先的表中数据更新时同时记录数据的行ID和表名在一张缓存表中,然后Job定时每周调用Procedure处理缓存表,处理完毕后删除缓存表数据。
      

  4.   

    procedure中写insert之类的语句.job就是指dbms_job 这样的包,主要用来定时运行,不过建议使用crontab来