我按照网上介绍的方法,试验高级复制,数据确实通讯成功,但是两个数据库是双向同步的,我想实现单向的同步,应该怎么修改配置呀?
数据库A:orcl.test.com.cn
数据库B:test.test.com.cn
我用的同步相关脚本,如下execute dbms_repcat.create_master_repgroup('repg'); 在复制组里加入复制对象:execute dbms_repcat.create_master_repobject(sname=>'test',oname=>'test',type=>'table',use_existing_object=>true,gname=>'repg',copy_rows=>false);对复制对象产生复制支持:execute dbms_repcat.generate_replication_support('test','test','table');添加主体复制节点:execute dbms_repcat.add_master_database(gname=>'repg',master=>'test.test.com.cn',use_existing_objects=>true,copy_rows=>false, propagation_mode =>'asynchronous');execute dbms_repcat.resume_master_activity('repg',true);请问如何改成单向通讯呀?

解决方案 »

  1.   

    高级复制又称为对称复制,所以是双向的,不过你可以尝试把一边的触发器给disable掉,按理来说应该就可以实现单向复制。不过想真正实现单向复制还是建议用streams或者基于物化视图的高级复制。
      

  2.   

    建议使用goldengate,高级复制和stream oracle不再进行升级了.
      

  3.   

    听oracle得人说的.
    而且高级复制基于trigger,stream基于logminer,效率都是个问题.
    而goldengate是使用c编写的工具,直接对日志进行分析并处理,效率高,并且支持异构数据库.
    所以自从oracle收购了goldengate,就不在对上面两种方式进行升级了
      

  4.   

    你说的优点貌似streams也有,至于效率的话没有做过比较。