Oracle10Gstreams的模式级复制
来源:优易学  2011-9-28 14:20:47   【优易学:中国教育考试门户网】   资料下载   IT书店

 

 sc_dest
  --------------------------------------------------------
  配置应用进程
  begin
  dbms_streams_adm.add_schema_rules (
  schema_name => ’product’,
  streams_type => ’apply’,
  streams_name => ’apply_scdtrm’,
  queue_name => ’apply_scd’,
  include_dml => true,
  include_ddl => true,
  source_database => ’sc_source.net’);
  end;
  /
  三,数据的导出和导入
  sc_source
  -------------------------------------------------------------
  先得到源库的scn号
  select dbms_flashback.get_system_change_number() from dual;
  然后把product用户的数据导出,我采用的是expdp工具,从上面得到scn号之前导出即可
  expdp product/product directory=dumpdir dumpfile=product.dmp FLASHBACK_SCN=&SCN
  将导出的数据文件传到目标数据库sc_dest上,开始导入
  impdp product/product directory=dumpdir dumpfile=product.dmp
  四,开始streams复制
  sc_dest
  ---------------------------------------------------------
  为了使发生错误时,能让应用进程继续工作,可以做下面设置
  begin
  dbms_apply_adm.set_parameter (
  apply_name => ’apply_scdtrm’,
  parameter => ’disable_on_error’,
  value => ’N’);
  end;
  /
  在目标库上开始应用进程
  begin
  dbms_apply_adm.start_apply (
  apply_name => ’apply_scdtrm’);
  end;
  /
  sc_source
  -------------------------------------
  在源库上开始捕获进程
  begin
  dbms_capture_adm.start_capture (
  capture_name => ’capture_scstrm’);
  end;
  /
  五,停止方法和删除方法
  exec dbms_capture_adm.stop_capture(’capture_scstrm’) ---停止捕获进程
  exec dbms_capture_adm.drop_capture(’capture_scstrm’) ---删除捕获进程
  exec dbms_propagation_adm.stop_propagation(’pro_source_to_dest’) ---停止传播进程
  exec dbms_propagation_adm.drop_propagation(’pro_source_to_dest’) ---删除传播进程
  sc_dest
  exec dbms_apply_adm.stop_apply(’apply_scdtrm’) ---停止应用进程
  exec dbms_apply_adm.drop_apply(’apply_scdtrm’) ---删除应用进程
  做完了以上工作,即可以执行下面的操作删除streams配置了
  exec dbms_streams_adm.remove_streams_configuration

上一页  [1] [2] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训