• Streams实践之单表复制(单向复制)


    1. 环境搭建

      参考Streams那些事之初始化参数设置

      设置完成之后,分区在源、目标数据库创建队列(Strmadmin登录)

      sql> exec dbms_streams_adm.set_up_queue();

    2. 配置复制过程

    1). 源数据库 - 创建捕获规则

    sql> begin
    
        dbms_streams_adm.add_table_rules(
        table_name=>'scott.emp',
        streams_type=>'capture',
        streams_name=>'capture_stream',
        queue_name=>'strmadmin.streams_queue',
        include_dml=>true,
        include_ddl=>true,
        inclusion_rule=>true);
       end;
      /

    2). 源数据库 - 创建传播规则

    sql> begin
        dbms_streams_adm.add_table_propagation_rules(
        table_name=>'scott.emp',
        streams_name=>'source_to_target',
        source_queue_name=>'strmadmin.streams_queue',
        destination_queue_name=>'strmadmin.streams_queue@auxi.jss.cn',
        include_dml=>true,
        include_ddl=>true,
        source_database=>'orcl.jss.cn',
        inclusion_rule=>true,
        queue_to_queue=>true);
       end;
      /
    -- 查询capture的状态 sql> select capture_name, status from dba_capture;

    3). Target 数据库 - 创建应用规则

    sql> begin
        dbms_streams_adm.add_table_rules(
        table_name=>'scott.emp',
        streams_type=>'apply',
        streams_name=>'apply_stream',
        queue_name=>'strmadmin.streams_queue',
        include_dml=>true;
        include_ddl =>true;
        source_database => 'orcl.jss.cn',
        inclusion_rule=>true);
       end;
       /

    4). Target 数据库 - 设置起始应用的scn值

    sql> declare
        iscn NUMBER;
        begin
        iscn := DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER();
        dbms_apply_adm.set_table_instantiation_scn@auxi.jss.cn(
        source_object_name=>'scott.emp',
        source_database_name=>'orcl.jss.cn',
        instantiation_sc=>iscn);
      end;
      /

    5). Target数据库 - 启动应用进程

    sql> exec dbms_apply_adm.start_apply('apply_stream');

    6). Source数据库 - 启动捕获进程

    sql> exec dbms_capture_adm.start_capture('capture_stream');

    7). 配置完成,可以进行测试一下

    8). 清除Streams配制

    sql> exec dbms_streams_adm.remove_streams_configuration;

  • 相关阅读:
    根据表1更新表2的数据
    sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
    sql server 2008 将某表里的数据随机插入另一个表表
    用SqlBulkCopy批量插入数据
    Win7 下如何添加任务计划呢
    20180320作业1:源代码管理工具调查 Polonium
    判断传入的电子邮箱账号的正确性 Polonium
    Java工厂方法模式 Polonium
    软工课后作业01 Polonium
    Java实现简单工厂模式
  • 原文地址:https://www.cnblogs.com/landexia/p/2654751.html
Copyright © 2020-2023  润新知