当前位置:  数据库>oracle

单实例到单实例Oracle Stream搭建

    来源: 互联网  发布时间:2017-05-12

    本文导语: 这两天测试了一下Stream,在网上找了一些资料,集合大话Oracle RAC上的一些信息,测试通过,把结果整理出来分享一下,各位有时间可以自己试试1 基础环境1.1 源数据库操作系统:windows XPIP地址:10.80.88.35数据库:Oracle 10.2.0.1.0ORAC...

这两天测试了一下Stream,在网上找了一些资料,集合大话Oracle RAC上的一些信息,测试通过,把结果整理出来分享一下,各位有时间可以自己试试
1 基础环境
1.1 源数据库
操作系统:windows XP
IP地址:10.80.88.35
数据库:Oracle 10.2.0.1.0
ORACLE_SID:sttest
Global_name:STTEST.REGRESS.RDBMS.DEV.US.ORACLE.COM

1.2 目标数据库
操作系统:windows 7
IP地址:10.80.88.231
数据库:Oracle 11.2.0.1.0
ORACLE_SID:orcl
Global_name:ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM

1.3 复制规划,将决定如何配置
将sttest库里的jiang用户下的所有对象复制到orcl库里,采用是本地捕获和单向复制

2 配置环境
2.1 在pfile中设定初始化参数,源数据库和目标数据库都得设置
aq_tm_processes=2
global_names=true
job_queue_processes=10
parallel_max_servers=20
undo_retention=3600
nls_date_format='YYYY-MM-DD HH24:MI:SS'
streams_pool_size=160M
utl_file_dir='*'
open_links=4   
#设置归档目录及格式
log_archive_dest_1='LOCATION=......' 
log_archive_format='ARC%S_%R.%T'
之后用pfile重启数据库,并将数据库置为归档模式
shutdown immediate;
start nomount pfile='......';
create spfile from pfile=......'';
alter database mount;
alter database archivelog;
alter database open;
     
2.2 配置TNS
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.80.88.231)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
 
STTEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = lenovo-jy)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = lenovo-jy)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sttest)
    )
  )                                               
     
2.3 创建stream 管理用户
2.3.1 在源数据库上创建主环境stream管理用户
create tablespace streams_tbs datafile 'D:oracleoradatastteststreams_tbs.dbf' size 200M autoextend on;
execute dbms_logmnr_d.set_tablespace('streams_tbs');
create user strmadmin identified by STRMADMIN default tablespace streams_tbs temporary tablespace temp;
grant connect,resource,dba,aq_administrator_role to strmadmin;
begin
dbms_streams_auth.grant_admin_privilege(
grantee => 'strmadmin',
grant_privileges => true);
end;
/

2.3.2 在目标数据库上创建从环境stream管理用户,由于目标数据库是11G的,密码要用大写,不然后续创建到目标数据库的db link时会连接不上
create tablespace streams_tbs datafile 'E:approotoradataorclstreams_tbs.dbf' size 200M autoextend on;
execute dbms_logmnr_d.set_tablespace('streams_tbs');
create user strmadmin identified by STRMADMIN default tablespace streams_tbs temporary tablespace temp;
grant connect,resource,dba,aq_administrator_role to strmadmin;
begin
dbms_streams_auth.grant_admin_privilege(
grantee => 'strmadmin',
grant_privileges => true);
end;
/

2.4 启用追加日志,可以基于Database级别或Table级别,启用追加日志(Supplemental Log);在建立根据Schema粒度进行复制的Oracle Stream环境中,如果确认Schema下所有Table都有合理的主键(Primary Key),则不再需要启用追加日志
alter database add supplemental log data;
alter table add supplement log group log_group_name(table_column_name) always;

2.5 创建 DBlink,针对主数据库建立的数据库链的名字必须和从数据库的global_name相同
2.5.1 创建主数据库数据库链
alter database rename global_name to STTEST.REGRESS.RDBMS.DEV.US.ORACLE.COM;
connectstrmadmin/STRMADMIN@sttest
CREATE DATABASE LINK ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM CONNECT TO strmadmin IDENTIFIED BY STRMADMIN USING 'orcl';
2.5.2 创建从数据库数据库链
alter database rename global_name to ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM;
connectstrmadmin/STRMADMIN@orcl
CREATE DATABASE LINK STTEST.REGRESS.RDBMS.DEV.US.ORACLE.COM CONNECT TO strmadmin IDENTIFIED BY STRMADMIN USING 'sttest';

2.6 创建Source队列
2.6.1 在源数据库上创建 Master Source队列
connectstrmadmin/STRMADMIN@sttest
begin
dbms_streams_adm.set_up_queue(
queue_table => 'sttest_queue_table',
queue_name => 'strmadmin.sttest_queue');
end;
/

2.6.2 在目标数据库上创建 Backup Source队列
connectstrmadmin/STRMADMIN@orcl
begin
dbms_streams_adm.set_up_queue(
queue_table => 'orcl_queue_table',
queue_name => 'strmadmin.orcl_queue');
end;
/


    
 
 

您可能感兴趣的文章:

  • 利用soaplib搭建webservice详细步骤和实例代码
  • 在CoreOS上搭建一个WordPress程序操作实例
  • 搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
  • Linux上建立第二个ORACLE实例分析
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • oracle的存储过程实例讲解
  • linux redhat5.6安装oracle11g在自动创建实例时停住不动,有图
  • oracle分页存储过程 oracle存储过程实例
  • C#连接Oracle数据库的实例方法
  • Oracle数据库实例两则
  • Oracle 删除归档日志实例
  • Oracle 10g for solaris准备工作和实例的删除
  • Oracle 11G 无法连接到数据库实例故障排除
  • Linux下设置Oracle 10g 服务以及实例自动启动
  • oracle group by语句实例测试
  • Oracle数据库异构服务原理及实例说明
  • Linux下删除Oracle实例
  • 与Oracle RAC相关的连接配置写法实例
  • Oracle监听器Server端与Client端配置实例
  • Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例
  • oracle删除已存在的表的实例
  • Aix 5.3下自动备份Oracle多个实例
  • Oracle数据库安全性管理基本措施实例解析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗?
  • Bean的作用域及Spring 暴露 Bean实例的方法介绍
  • 请问:类的实例化是怎么一回事?如何进行实例化?
  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • 万般火急!关于java打印,已经得到printerJob实例,那么怎么通过它得到Pageable实例?
  • Python namedtuple(命名元组)使用实例
  • 类的方法和实例方法,类字段和实例字段有什么不同,在使用上?
  • boost库区间range基本原理及使用实例
  • 既然在定义实例变量的时候可以初始化实例变量的值,那还要构造函数干吗?谢谢!
  • php session_id()函数介绍及代码实例
  • 怎么样判断一个类是否已经被实例化,并关闭这个实例,而且保证系统不退出(详情见内)
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • 请问在一个servlet里取得一个用singleton模式实现的类实例,那么这个类实例的生命周期是怎样的?
  • java Servlet获取和设置cookie实例代码
  • C#静态变量与实例变量实例分析
  • Mysql Select查询执行流程介绍及实例
  • 实例变量和类变量
  • c++类库Boost::bimap(双向映射)介绍及使用实例
  • 又谁能告诉我实例因该怎么去理解它?????????/
  • OpenStack中compute介绍和compute实例需要注意的问题
  • Keepalived 能配两个虚拟ip吗,匹配两个数据库实例?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,