Welcome 微信登录

首页 / 数据库 / MySQL / 单实例到单实例Oracle Stream搭建

这两天测试了一下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.COM1.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.COM1.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:app ootoradataorclstreams_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;
/
  • 1
  • 2
  • 下一页
Hadoop之Hive本地与远程MySQL数据库管理模式安装手册Windows环境下ORA-12638错误及SYS用户登陆权限验证相关资讯      Oracle基础知识  Oracle实例  Oracle Stream 
  • Oracle双向Stream配置实践  (02月24日)
  • Oracle 11g在Linux上建立第二个实  (05/28/2015 05:57:28)
  • Oracle实例恢复阶段以及flashback  (09/17/2014 17:27:13)
  • Oracle 关于实例恢复的一个讨论  (08/13/2015 21:01:24)
  • 查看Oracle 32位还是64位(x86 or   (10/05/2014 19:10:00)
  • Oracle 实例创建脚本  (08/14/2014 10:11:56)
本文评论 查看全部评论 (0)
表情: 姓名: 字数