ITPub博客

首页 > Linux操作系统 > Linux操作系统 > STREAMS-单向复制(3)

STREAMS-单向复制(3)

原创 Linux操作系统 作者:www_xylove 时间:2013-07-29 13:59:16 0 删除 编辑

Oracle11gr2 streams replication in a two database

(流复制-单向复制-单表复制)

7.使用DBMS_STREAMS_ADM包配置streams复制环境

 首先创建复制队列

  使用strmadmin管理用户,登陆source database.

BEGIN

  DBMS_STREAMS_ADM.SET_UP_QUEUE(

    queue_table => 'strmadmin.qt_capture_queue',

    queue_name  => 'strmadmin.capture_queue');

END;

/

  使用strmadmin管理用户,登陆destination database.

BEGIN

  DBMS_STREAMS_ADM.SET_UP_QUEUE(

    queue_table => 'strmadmin.qt_apply_queue',

    queue_name  => 'strmadmin.apply_queue');

END;

/

 创建捕获进程,同步单表hr.employees.

  使用strmadmin管理用户,登陆source database.

BEGIN   

DBMS_STREAMS_ADM.ADD_TABLE_RULES(   

  table_name     => 'HR.EMPLOYEES',   

  streams_type    => 'CAPTURE',   

  streams_name    => 'STRMADMIN_CAPTURE',   

  queue_name      => 'STRMADMIN.CAPTURE_QUEUE',   

  include_dml     => true,   

  include_ddl     => true,   

  source_database => 'DBMASTER.COM');   

END;   

/ 

创建传播进程,传播单表hr.employees.

 使用strmadmin管理用户,登陆source database.

BEGIN 

DBMS_STREAMS_ADM.ADD_TABLE_PROPAGATION_RULES( 

table_name => 'HR.EMPLOYEES', 

streams_name => 'STRMADMIN_PROPAGATION', 

source_queue_name => 'STRMADMIN.CAPTURE_QUEUE', 

destination_queue_name => 'STRMADMIN.APPLY_QUEUE@DBSNAP.COM', 

include_dml => true, 

include_ddl => true, 

source_database => 'DBMASTER.COM'); 

END;

/

创建应用进程,应用单表hr.employees.

 使用strmadmin管理用户,登陆destination database.

BEGIN

DBMS_STREAMS_ADM.ADD_TABLE_RULES(

table_name => 'HR.EMPLOYEES',

streams_type => 'APPLY',

streams_name => 'STRMADMIN_APPLY',

queue_name => 'STRMADMIN.APPLY_QUEUE',

include_dml => true,

include_ddl => true,

source_database => 'DBMASTER.COM');

END;

/

初始化destination database 数据,使用exp/imp方式初始化数据

 

exp hr/hr@dbmaster TABLES=employees FILE=c:\dmp\employees.dmp  OBJECT_CONSISTENT=Y STATISTICS=NONE

 

imp hr/hr@dbsnap CONSTRAINTS=Y  FILE=C:\dmp\employees.dmp IGNORE=Y COMMIT=Y  STREAMS_INSTANTIATION=Y FULL=Y

 

启动应用进程

使用strmadmin管理用户,登陆destination database.

 

 begin

dbms_apply_adm.start_apply(

apply_name => 'STRMADMIN_APPLY');

end;

/

启动捕获进程

使用strmadmin管理用户,登陆source database.

begin

dbms_capture_adm.start_capture(

capture_name => 'STRMADMIN_CAPTURE');

end;

/

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21266384/viewspace-767361/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-12

  • 博文量
    99
  • 访问量
    220730