Welcome 微信登录

首页 / 数据库 / MySQL / 在Oracle 11g Streams单向传输的基础上配置Streams双向传输测试

描述:
原来在两个数据库服务器直接配置了Streams的单向传输,
原来的源数据库为两台集群64位HP-UNIX的Oracle11gR2数据库,
原来的目标数据库为1台64位Linux的Oracle11gR2的数据库,
现在上面的基础上,把1台64位Linux的Oracle11gR2的当作源数据库,把两台集群64位HP-UNIX的Oracle11gR2数据库当作目标数据库,
安装Streams的单向传输步骤进行配置,这样就变成了两个数据库服务器之间的Steams的双向传输。10.2.2.1:为源数据库     10.1.1.1及10.1.1.2 集群数据库为目标数据库1、源数据库归档模式
源:
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     420
Next log sequence to archive   422
Current log sequence           422
2、在源数据库启用追加日志
启用辅助日志
SQL> alter database add supplemental log data;Database altered.3、需要传输testUser 用户的数据,在源数据库创建source队列> sqlplus  strmadmin/strmadminSQL> BEGIN DBMS_STREAMS_ADM.SET_UP_QUEUE(
  2  queue_table=>"SOURCE_QUEUE_TABLE",
  3  queue_name=>"SOURCE_QUEUE",
  4  queue_user=>"strmadmin");
  5  END;
  6  /PL/SQL procedure successfully completed.或者:SQL> EXEC DBMS_STREAMS_ADM.SET_UP_QUEUE();PL/SQL procedure successfully completed.
该命令会创建一个队列缺省名:streams_queue,队列表缺省是:STREAMS_QUEUE_TABLE队列存储的object类型是anaydata移除队列:
exec dbms_streams_adm.remove_queue(
queue_name => "streams_queue",
cascade => true,
drop_unused_queue_table => true);可以用查询dba_queues,dba_queue_tables来检查:SQL>  select owner,queue_table,name from dba_queues where wner="STRMADMIN";OWNER               QUEUE_TABLE              NAME----------------- ------------------------- ------------------STRMADMIN          SOURCES_QUEUE_TABLE        SOURCES_QUEUESTRMADMIN          SOURCES_QUEUE_TABLE        AQ$_SOURCES_QUEUE_TABLE_E SQL>select owner,queue_table,object_type from dba_queue_tables where wner="STRMADMIN";OWNER            QUEUE_TABLE           OBJECT_TYPE-------------- --------------------- ------------------STRMADMIN       SOURCES_QUEUE_TABLE     SYS.ANYDATA4、在目标数据库创建接收队列
$ sqlplus strmadmin/strmadmin SQL> BEGIN DBMS_STREAMS_ADM.SET_UP_QUEUE(
  2  queue_table=>"TARGET_QUEUE_TABLE",
  3  queue_name=>"TARGET_QUEUE",
  4  queue_user=>"strmadmin");
  5  END;
  6  /PL/SQL procedure successfully completed.
5、在源数据库创建capture进程
CBDBS01-> sqlplusstrmadmin/strmadmin@CBOMSSQL> BEGIN DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(
  2  schema_name=>"testUser",
  3  streams_type=>"capture",
  4  streams_name=>"capture_stream",
  5  queue_name=>"strmadmin.SOURCE_QUEUE",
  6  include_dml=>true,
  7  include_ddl=>true,
  8  SOURCE_DATABASE=>"bhoms",
  9  include_tagged_lcr=>false,
 10  inclusion_rule=>true);
 11  END;
 12  /PL/SQL procedure successfully completed.可以通过dba_capture查看:SQL> select CAPTURE_NAME,QUEUE_NAME,START_SCN,STATUS,CAPTURE_TYPE from dba_capture;SQL> select * from  ALL_CAPTURE_PREPARED_SCHEMAS;6、在源数据库继续创建传播进程
CBDBS01-> sqlplus strmadmin/strmadminSQL> BEGIN DBMS_STREAMS_ADM.ADD_SCHEMA_PROPAGATION_RULES(
  2  schema_name=>"testUser",
  3  streams_name=>"source_to_target",
  4  source_queue_name=>"strmadmin.SOURCE_QUEUE",
  5  destination_queue_name=>"strmadmin.TARGET_QUEUE@CBOMS",
  6  include_dml=>true,
  7  include_ddl=>true,
  8  source_database=>"bhoms",
  9  inclusion_rule=>true,
 10  queue_to_queue=>true);
 11  END;
 12  /PL/SQL procedure successfully completed.重新启动propagation process
 查看propagation process名称
 select * from all_propagation;可以通过dba_propagations查看propagation是否启动SQL> select PROPAGATION_NAME,SOURCE_QUEUE_NAME,DESTINATION_QUEUE_NAME,DESTINATION_DBLINK,STATUS from dba_propagation
如果status不是“ENABLED”,而是“DISABLED”可以启动
SQL>exec dbms_propagation_adm.start_propagation("source_to_target");   (关闭为exec dbms_propagation_adm.stop_propagation("source_to_target");)
7、在目标数据库创建apply进程
$ sqlplus strmadmin/strmadminSQL> BEGIN
  2  DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(
  3  schema_name=>"testUser",
  4  streams_type=>"apply",
  5  streams_name=>"target_apply_stream",
  6  queue_name=>"strmadmin.TARGET_QUEUE",
  7  include_dml=>true,
  8  include_ddl=>true,
  9  include_tagged_lcr=>false,
 10  source_database=>"bhoms",
 11  inclusion_rule=>true);
 12  END;
 13  /PL/SQL procedure successfully completed.可以通过:dba_applyv$streams_apply_readerv$streams_apply_coordinatorv$streams_apply_server
  • 1
  • 2
  • 下一页
MongoDB中级---->MongoDB权限Oracle 11g R2 Streams出现ORA-26744: ORA-26767:错误相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数