在oracle中,有高级复制的功能.但对于不同的服务器中不同的方案名下的表,怎么实现高级复制呢?比如;A电脑上,数据库testA中有一个方案为TestUserA,此方案下有一个表为test_rep.
B电脑上,数据库testB中有一个方案为TestUserB,此方案下有一个表为test_rep.
二个表结构完全一致,请问怎么把A电脑上的表test_rep通过高级复制到B电脑的test_rep?

解决方案 »

  1.   

    //根据要复制的表,创建复制对象
    begin
      dbms_repcat.create_master_repobject(sname=>'TestUserA',
      oname=>'REP_TEST', type=>'table',use_existing_object=>true,
      gname=>'rep_g_test',copy_rows=>false);
    end;
    /
    execute dbms_repcat.generate_replication_support('TestUserA', 'REP_TEST', 'table');
    /如上,这二个过程的sname参数,只能填一个方案名,这样导致推到B电脑上的复制对象是错误的,因为B电脑上没有TestUserA方案名